Twitter小部件仅在WebApp Ajax页面中首次加载



im试图在我的Ajax加载页面中加载Twitter窗口小部件API。

我试图以几种不同的方式加载脚本,并且我每次都会使警报运行,而不是脚本本身。

因此,我第一次加载页面时,脚本正在工作,但是如果我返回菜单并返回此页面,那么它不加载它?

这是Ajax加载页面。

<div id="twitterwid">
<a class="twitter-timeline" width="320" height="500" href="https://twitter.com/my account" data-widget-id="my widget id number">Loading tweets by @me</a>
<script>
alert("alert is working");
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");

</script>
<div>

任何意见的输入,谢谢。

您要做的就是:通过致电:

在页面上重新渲染窗口小部件的标签。
twttr.widgets.load()

Twitter Dev Channel上的类似问题

注意:Ajax负载时未执行内联脚本。请参阅:SO Q&amp; a用于解决方案。

添加第一:

<script>window.twttr = (function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0],
    t = window.twttr || {};
  if (d.getElementById(id)) return t;
  js = d.createElement(s);
  js.id = id;
  js.src = "https://platform.twitter.com/widgets.js";
  fjs.parentNode.insertBefore(js, fjs);
  t._e = [];
  t.ready = function(f) {
    t._e.push(f);
  };
  return t;
}(document, "script", "twitter-wjs"));</script>

因此您可以使用:

twttr.widgets.load()

最新更新