脚本正在加载但未执行(Turbo链接)

时间:2013-10-29 15:43:16

标签: ruby-on-rails-4 turbolinks

我有这个脚本:

   ready = ->
((d, s, id) ->
  js = undefined
  fjs = d.getElementsByTagName(s)[0]
  console.log("Loaded")
  return  if d.getElementById(id)
  js = d.createElement(s)
  js.id = id
  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"
  fjs.parentNode.insertBefore js, fjs
) document, "script", "facebook-jssdk"

(文档)$。就绪(就绪) $(文件)。在('页面:负载',就绪)

用于在网站上创建facebook徽章。但是,尽管使用ready功能并在page:load上加载了该功能,但只有在刷新页面时才会显示facebook徽章,因此未正确配置turbolinks项目的经典行为。我真的不知道还能做什么。

脚本作为chrome中的资源加载,但必须在其他所有内容后加载。我使用this online converter来转换现有脚本,它确实可以用作咖啡脚本,但只能在刷新后使用。

更新

这是令人担忧的事情。在第5行看到console.log?这会在新页面加载时第一次成功登录到控制台,那么会发生什么?

1 个答案:

答案 0 :(得分:0)

在Rails 5中,试试这个:

$(document).on('turbolinks:load', function() {
  // your code goes in here
});