gpt4 book ai didi

html - 带有 Turbolink 的 Facebook Twitter 按钮

转载 作者:太空宇宙 更新时间:2023-11-04 13:19:02 24 4
gpt4 key购买 nike

我正在尝试实现 2 个共享按钮。 Facebook 点赞按钮Twitter 分享按钮

但我在使用 turbolinks 时遇到了问题。查找后我发现了一个 interesting article .

解决方案指出,通过从 application.html.erb 中删除初始脚本并包含以下文件将解决问题。

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 : 'YOUR_APP_ID'
channelUrl: '//WWW.YOUR_DOMAIN.COM/channel.html'
status : true
cookie : true
xfbml : true

同样适用于 Twitter Problem :

twttr_events_bound = false

$ ->
bindTwitterEventHandlers() unless twttr_events_bound

bindTwitterEventHandlers = ->
$(document).on 'page:load', renderTweetButtons
twttr_events_bound = true

renderTweetButtons = ->
$('.twitter-share-button').each ->
button = $(this)
button.attr('data-url', document.location.href) unless button.data('url')?
button.attr('data-text', document.title) unless button.data('text')?
twttr.widgets.load()

我做到了,但出于某种原因,我的问题并没有消失。有人可以帮助我解决这个问题吗?

最佳答案

引用这个问题Rails 4: how to use $(document).ready() with turbo-links (得票最多的答案),所以尝试:

ready = ->

...your coffeescript goes here...

$(document).ready(ready)
$(document).on('page:load', ready)

我之前在使用 turbolink 时遇到了问题,当我在主页中加载 fb 脚本并点击链接转到另一个页面时,fb 脚本没有重新加载。所以我尝试添加 data-turbolink-track = false 并且成功了。希望对您有所帮助。

关于html - 带有 Turbolink 的 Facebook Twitter 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com