ruby-on-rails - Facebook 评论 w/Rails 4 和 Turbolinks

标签 ruby-on-rails facebook facebook-javascript-sdk ruby-on-rails-4 turbolinks

我在将 Facebook 社交插件(特别是评论)添加到启用了 Turbolinks 的 Rails 4 应用程序时遇到了问题。我按照 turbolinks issue #62 上的示例进行操作, 但无法让它工作。

我也试过 turbolink 的解决方案 here , 但无法让它工作。

根据 this answer 修复 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     : 'xxxxxxxxxxxx'
    channelUrl: '//www.mydomain.com/channel.html'
    status    : true
    cookie    : true
    xfbml     : true

### /public/channel.html
<script src="//connect.facebook.net/en_US/all.js"></script>

--

谢谢。非常感谢您的帮助。

最佳答案

试试这个,如果有效请告诉我...

assets/javascripts 文件夹中创建一个 social.js.coffee

在里面写:

$(document).on 'page:change', ->
  FB.init({ status: true, cookie: true, xfbml: true });

关于ruby-on-rails - Facebook 评论 w/Rails 4 和 Turbolinks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18292776/

相关文章:

html - CSS 通过表单放置图像

ios - FBRequestConnection 无响应

javascript - Google Analytics 无法正确跟踪事件

javascript - 以管理员身份发布 Facebook 页面(也有页面 access_token)

javascript - 是否可以在 Facebook 广告上使用 FB SDK 自定义事件

javascript - Rails 4 Javascript 图像路径

javascript - 有没有办法在 Rails 4 的 Coffeescript/Javascript 中使用 ActionView Helpers?

ajax - Facebook 图谱 API 问题 : How can i get permanent permission/access token to display a public photo album on a webpage?

javascript - 使用 Rails 和 PhantomJS 进行多步页面交互和快照?

ios - Facebook 不返回用户数据,swift