我使用twitter和facebook社交按钮,无需SDK或身份验证。
https://about.twitter.com/resources/buttons#tweet
和
https://developers.facebook.com/docs/plugins/share-button
首次加载页面或刷新时,会显示推文按钮和分享按钮。但是当我通过点击链接导航时,相同的社交按钮不会显示。
如何让脚本加载并使用turbolinks玩得很好?
答案 0 :(得分:1)
这是由于 turbolinks 未在页面重新加载时重新加载您的javascript。这是turbolinks的预期行为;但是,有时你需要像你的情况一样重新加载第三方javascript。
<强>解决方案:强>
禁用指向需要重新加载的包含javascript的网页的链接上的turbolink。在您的情况下,链接指向带有社交按钮的页面。
示例:强>
<%= link_to "the page containing your social buttons", social_page_path, "data-no-turbolink": true %>
另一种解决方案:
如果您的社交按钮绑定到页面realod事件,那么您可以强制turbolinks每次重新加载它们。使用补充gem jquery.turbolinks按照安装说明操作,你可以强制turbolinks在document.ready()函数中重新加载你想要的所有javascript。
示例:强>
$(document).ready(function() {
// your social buttons javascript code
});
这样您就不必手动禁用指向包含社交按钮的网页的链接上的turbolink。
希望这有帮助。