【发布时间】:2017-08-29 23:55:32
【问题描述】:
我正在尝试包含 twitter 小部件脚本,以便更好地在我的 Rails 5 应用程序中显示嵌入式推文(此处提供的代码:https://dev.twitter.com/web/javascript/loading)
function twitterWidget() {
alert("twitter");
window.twttr = (function (d, s, id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src= "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
}(document, "script", "twitter-wjs"));
};
$(document).on('turbolinks:load', twitterWidget);
这工作正常,除非在第一页访问(脚本运行 - 从而向我显示警报 - 但推文没有正确显示)。
编辑:如果我直接调用页面,上面的代码将起作用,但当我从另一个页面使用 link_to 时则不起作用。然后它只适用于再次刷新同一页面。
我禁用了 Turbolinks,它工作正常,但我想继续使用 Turbolinks 以加快页面加载速度。
是否可以通过选择性地禁用此小部件的 turbolink 来解决此问题?
感谢您的帮助!
【问题讨论】:
标签: javascript ruby-on-rails twitter turbolinks