我正在升级一个 jquery 移动应用程序以使用 twitter api v1.1。该应用程序在各种不同的页面中嵌入了时间线,由于 Twitter 的变化,这些时间线不再起作用。
我使用了 twitter 创建小部件功能,它产生了类似的代码;
<a class="twitter-timeline" href="https://twitter.com/twitterapi" data-widget-id="YOUR-WIDGET-ID-HERE">Tweets by @twitterapi</a>
<script>!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>
我已经在我的页面上嵌入了这段代码,第一次显示页面时一切正常。但是,在后续页面或返回到同一页面上,嵌入的时间线不会出现,除非我刷新浏览器强制重新加载页面。
我怀疑这个问题与 jqm 使用 ajax 进行页面加载的方式有关。twitter javascript 必须与文档就绪事件挂钩,但在第一个页面加载后永远不会调用它,因为所有后续页面都是通过 ajax 加载的。
我尝试将 twitter 提供的 javascript 插入到 pageinit 事件中,但没有成功。例如
$(document).on("pageinit", function( event ) {
// Inserted twitter js here
});
关于如何让 twitter 嵌入式时间线可靠地出现在 jquery 移动应用程序中(不使用服务器代码)的任何想法?