Skip to content

Instantly share code, notes, and snippets.

@macool
Created August 23, 2015 19:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macool/977e8d987f5ab02707fb to your computer and use it in GitHub Desktop.
Save macool/977e8d987f5ab02707fb to your computer and use it in GitHub Desktop.
make facebook sdk work with turbolinks on rails 4
appId = *******
$ ->
loadFacebookSDK()
bindFacebookEvents() unless window.fbEventsBound
bindFacebookEvents = ->
$(document)
.on('page:fetch', saveFacebookRoot)
.on('page:change', restoreFacebookRoot)
.on('page:load', ->
FB?.XFBML.parse()
)
@fbEventsBound = true
saveFacebookRoot = ->
if $('#fb-root').length
@fbRoot = $('#fb-root').detach()
restoreFacebookRoot = ->
if @fbRoot?
if $('#fb-root').length
$('#fb-root').replaceWith @fbRoot
else
$('body').append @fbRoot
loadFacebookSDK = ->
window.fbAsyncInit = initializeFacebookSDK
$.getScript("//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.4&appId=#{appId}")
initializeFacebookSDK = ->
FB.init
appId : appId
status : true
cookie : true
xfbml : true
version: "v2.4"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment