我在启用Turbolinks的情况下将Facebook社交插件(特别是评论)添加到我的Rails 4应用程序时遇到了麻烦.我在turbolinks问题#62上遵循了这个例子,但无法让它工作.
我也在这里试过turbolink的解决方案,但无法让它工作.
根据这个答案修复turbolinks页面上的明显拼写错误也无效.
SDK未加载,控制台中没有错误.
码:
### view:
<div id="fb-root"></div>
<div class="fb-comments" data-href="<%= request.original_url %>"></div>
### coffeescript:
fb_root = null
fb_events_bound = false
$ ->
loadFacebookSDK()
bindFacebookEvents() unless fb_events_bound
bindFacebookEvents = ->
$(document)
.on('page:fetch', saveFacebookRoot)
.on('page:change', restoreFacebookRoot)
.on('page:load', ->
FB.XFBML.parse()
)
fb_events_bound = true
saveFacebookRoot = ->
fb_root = $('#fb-root').detach()
restoreFacebookRoot = ->
if $('#fb-root').length > 0
$('#fb-root').replaceWith fb_root
else
$('body').append fb_root
loadFacebookSDK = ->
window.fbAsyncInit = initializeFacebookSDK
$.getScript("//connect.facebook.net/en_US/all.js#xfbml=1")
initializeFacebookSDK = ->
FB.init
appId …Run Code Online (Sandbox Code Playgroud) facebook ruby-on-rails facebook-javascript-sdk turbolinks ruby-on-rails-4