React Native 中 WebView 内的 Twitter 小部件

2023-12-09

我正在尝试在 a 中加载 Twitter 小部件WebView在我的 React Native 应用程序中,但似乎我注入的 Javascript 由于某种原因无法工作。

我正在做的是异步加载 Twitter 脚本(函数采取从这里),然后执行twttr.widgets.load()加载脚本时的函数以绘制小部件。

是否可以做到这一点,或者我是否在默认情况下尝试不可能的事情Webview成分?

这是我的代码:

render() {
    let utils = ' \
      function loadScript(src, callback) { \
        var s, r, t; \
        r = false; \
        s = document.createElement("script"); \
        s.type = "text/javascript"; \
        s.src = src; \
        s.onload = s.onreadystatechange = function() { \
          if ( !r && (!this.readyState || this.readyState == "complete") ) { \
            r = true; \
            callback(); \
          } \
        }; \
        t = document.getElementsByTagName("script")[0]; \
        t.parentNode.insertBefore(s, t); \
      } \
    ';

    let twitter = ' \
      loadScript("//platform.twitter.com/widgets.js", function () { \
        twttr.widgets.load(); \
      }); \
    ';

    let JS = utils + twitter;

    let source = '<blockquote class="twitter-tweet" data-lang="es"><p lang="en" dir="ltr">8 TED Talks to inspire projects with kids: <a href="https://twitter.com/TEDTalks/status/758116657638309896">https://twitter.com/TEDTalks/status/758116657638309896</a> <a href="https://twitter.com/TEDTalks/status/758116657638309896">pic.twitter.com/HMmYAeP7Km</a></p>&mdash; TED Talks (@TEDTalks) <a href="https://twitter.com/TEDTalks/status/758116657638309896">27 de julio de 2016</a></blockquote>';

    return (
      <WebView
        source={{html: source}}
        javaScriptEnabled={true}
        injectedJavascript={ JS }
      />
    );
}

似乎在 WebView 中加载脚本不起作用(我不知道为什么)。因此,为了使其正常工作,我需要使用 script 标签加载 Twitter 的脚本并将其连接到我的 HTML 代码。

render() {

    let JS = '<script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script>';

    let source = JS + '<blockquote class="twitter-tweet" data-lang="es"><p lang="en" dir="ltr">8 TED Talks to inspire projects with kids: <a href="https://twitter.com/TEDTalks/status/758116657638309896">https://twitter.com/TEDTalks/status/758116657638309896</a> <a href="https://twitter.com/TEDTalks/status/758116657638309896">pic.twitter.com/HMmYAeP7Km</a></p>&mdash; TED Talks (@TEDTalks) <a href="https://twitter.com/TEDTalks/status/758116657638309896">27 de julio de 2016</a></blockquote>';

    return (
      <WebView
        source={{html: source}}
        javaScriptEnabled={true}
      />
    );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Native 中 WebView 内的 Twitter 小部件 的相关文章

随机推荐

  • 如何在 ASP.NET Core 中创建角色并将其分配给用户?

    我正在使用 ASP NET Core 默认网站模板 并将身份验证选择为 个人用户帐户 如何创建角色并将其分配给用户 以便我可以使用控制器中的角色来过滤访问权限 我的评论已被删除 因为我提供了我回答的类似问题的链接here 因此 这次我会更描
  • NSDecimalNumber 乘法奇怪

    ExclusivePrice 数量都是 NSDecimalNumbers NSDecimalNumber price exclusivePrice decimalNumberByMultiplyingBy quantity NSLog ex
  • pexpect 相当于 Expect 的“send_user”

    作为我的延续上一个问题在 pexpect 中构建交互式选项菜单时 交互输入过滤器中的打印语句只有在交互完成后才会发送到 stdout 该文档似乎没有包含与 Expect 中的 send user 等效的方法 是否有任何解决方法可以将输出发送
  • 添加新行后无法“刷新”filamentgroup tablesaw 响应表

    我正在使用 AngularJS Utils 分页指令和filamentgroup tablesaw 响应式表库的组合来尝试获得响应式 通过向右滑动 分页表 一旦我填充了表格 我就从另一个名为responsive table的指令中调用tab
  • 从打印语句中删除最后一个分隔符

    这是对整数数组进行排序的方法 如何从输出中删除最后一个分隔符 public void Sort int sort for int a sort System out print a Output 1 2 3 4 5 6 7 8 9 10 1
  • 仅将圆角添加到 UITableView 的顶部?

    我试图仅向 UITableView 的顶角添加圆角 但问题是 使用下面的代码 它只会在整个 UITableView 上形成黑色层 我该如何解决这个问题 Rounded Corners for top corners of UITableVi
  • 基于 Android 4.0 的 Virtual Box 模拟器无法检测到笔记本电脑的蓝牙 4.0

    目前我正在开发与蓝牙 4 0 设备通信的 Android 应用程序 截至目前 我包括博康布尔在我的应用程序中并做了一些示例代码 实际上我没有基于蓝牙 4 0 的 Android 智能手机 因此出于测试目的 我只是安装了 Oracle Vir
  • Websocket 使用队列等待服务器响应

    我使用 websocket 发送和接收数据 每秒最多 30 条小消息 我希望客户端发送 websocket 有效负载并等待来自服务器的特定消息 Flow 客户端发送请求 它还将 requestId 163 存储在waitingRespons
  • D3:将鼠标滚轮重新映射为平移手势而不是缩放手势

    默认情况下 当您在 D3 中创建新的缩放行为时 它会映射鼠标滚轮来控制缩放级别 如果图表大于图表区域 您还可以单击并拖动来平移图表 我想重新映射鼠标滚轮手势以在垂直轴上平移 鼠标滚轮向上平移 鼠标滚轮向下平移 有人知道如何实现这一目标吗 好
  • Fortran“参数”类型不包含在编译对象中

    我有一个 Fortran 模块 其中包含一些具有属性的变量parameter有些有属性save The parameter那些不包含在编译的对象中 这在尝试组装库时成为一个问题 例如 考虑一个文件testModule f90 module
  • Javascript:检查服务器是否在线?

    通过 JavaScript 检查我的服务器是否在线的最快方法是什么 我尝试过以下 AJAX function isonline var uri MYURL var xhr new XMLHttpRequest xhr open GET ur
  • 如何使用 HttpWebRequest 登录后从网络提取数据

    我正在尝试从登录中提取数据 以便能够验证登录是否成功 如何使用 HttpWebRequest 提取页面内容 以便我可以使用它来验证登录是否正常 由于无论登录正确还是错误 每次登录都会返回状态代码 200 因此验证登录是否成功变得更加困难 p
  • _tkinter.TclError:预期的浮点数但得到“08”(看起来像无效的八进制数)

    我是一名 A level 学生 正在写计算机课程作业 我的代码的一小部分接受输入 将它们转换成时间 早上 8 点钟显示如下 08 因为 SQLite 喜欢这样 但是 当将其转换为日期时 我在标题中收到错误消息 tkinter TclErro
  • Windows下使用Lua读写串口

    我的总体计划目标是使用 Lua 创建更好的 3D 打印机校准 GUI 幸运的是 GUI 部分已经可以工作了 我正在尝试从 Windows 10 计算机上的 COM 端口读取和写入打印机的 Arduino 然而 我对串行通信感到困惑 目前 我
  • 比较两个字符串并突出显示发现的不匹配之处

    我想比较两个字符串并突出显示不匹配的单词 我编写的代码有以下两个问题 1 只要存在不匹配 该单词就会存储在 令牌 中 但是一旦调用突出显示函数 它就会突出显示该字符串中与令牌中的单词匹配的所有单词 2 所有差异都会显示在控制台上 然而 当
  • Soundcloud API:如何仅播放曲目的一部分?

    对于即将到来的项目 我正在研究使用 Soundcloud API 仅播放特定长度 例如 20 秒 的曲目的可能性 有人可以告诉我这是否可能吗 或者应该单独创建一个长度有限的不同轨道吗 非常感谢 马丁 WebForDreams 有几种方法可以
  • IE挂起,CPU占用100%

    我有一个 Web 应用程序 在正常交互过程中 它会挂起 IE 我所说的 IE 被挂起 是指 IE 不再响应并使用 100 的 CPU 摆脱这种状态的唯一方法就是终止 IE 进程 关于该应用程序 它仅在浏览器中加载一页 通过 Ajax 查询与
  • 在图表.net mvc3中设置间隔

    我想在 mvc3 net c 中将图表上的间隔设置为 1 使用 System Web Helpers 我找不到图表属性来设置间隔 以便 x yValues 显示所有标签 这里是代码 Chart key new Chart width 600
  • 如何从 YouTube 播放器中删除 YouTube 徽标以便在其他应用程序中使用?

    我想在我的应用程序中使用 Charmless youtube 播放器 并且我想从播放器中删除 youtube 徽标 我怎样才能实现这个目标 我的应用程序是使用 AS3 开发的 只需添加 modestbranding 1到您的网址末尾 查看更
  • React Native 中 WebView 内的 Twitter 小部件

    我正在尝试在 a 中加载 Twitter 小部件WebView在我的 React Native 应用程序中 但似乎我注入的 Javascript 由于某种原因无法工作 我正在做的是异步加载 Twitter 脚本 函数采取从这里 然后执行tw