我正在使用 Like Box 社交插件(https://developers.facebook.com/docs/reference/plugins/like-box/)而且效果很好。
问题是我在带有 Turbolinks 的 Rails 4 应用程序中使用它。每当我重新加载页面时,都会出现类似框。如果我单击任何链接,则会加载下一页,并且不会显示“赞”框。
我已经尝试过但没有成功=/
http://reed.github.io/turbolinks-compatibility/facebook.html
关于如何解决这个问题有什么想法吗?
您在原始问题中发布的链接非常好。它要求我们创建三个函数:
1) saveFacebookRoot:这是必需的,以便div#fb-root
可以稍后恢复。这是呼吁page:fetch
. page:fetch
当 DoM 仍然是旧页面时被调用。即:新页面尚未取代旧页面
2)恢复FacebookRoot:这是需要的div#fb-root
可以附加回页面。它被称为page:change
. page:change
当新的 DoM 可用时调用。
3)那里有一个小错别字。我们需要调用这个page:load
FB.XFBML.parse() // Correct
代替 :
FB?.XFBML.parse() // InCorrect
请记住,当页面首次重新加载时,仅page:change
是从这三者中被召唤出来的。
这里的技巧是使用全局变量fb_root
and fb_events_bound
。这些必须可以在所有其他页面中访问,但这就是我们讨厌涡轮链接的首要原因。
参考:http://reed.github.io/turbolinks-compatibility/facebook.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)