Facebook Like Box 社交插件不适用于 Turbolinks

2023-12-09

我正在使用 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(使用前将#替换为@)

Facebook Like Box 社交插件不适用于 Turbolinks 的相关文章

随机推荐