【发布时间】:2014-01-21 17:16:14
【问题描述】:
所以,在我的 Rails 4 应用程序中,我有 Turbolinks gem。
//= require jquery.js
//= require jquery.turbolinks
//= require turbolinks
但是,似乎有些不对劲。 Turbolinks 的重点不是您不必在启动时加载所有 jquery/css/asset 管道吗?好吧,这似乎没有发生,每次请求新页面时它都会继续加载所有 jquery,更重要的是,它甚至会使每个页面加载 两次。如:
Started GET "/" for ip at 2014-01-21 18:55:35 +0200
*Loads bunch of stuff here*
Started GET "/" for ip at 2014-01-21 18:55:35 +0200
*Loads bunch of stuff here*
Started GET "/assets/jquery.js"
Started GET "/assetsjquery_ujs"
Started GET "/assets/litecarousel"
Et cetera...
当我注释掉//= require turbolinks 时,控制台似乎只显示一页加载,这是正常的。这可能是什么原因?
我有很多带有 $(document).ready 的 jquery 函数,但是使用 jquery.turbolinks 这应该没问题。
// 编辑: 测试了一些东西,这似乎是与 Chrome 相关的错误。在火狐上运行良好。另外,我的 gem 版本是 v.2.2.0。
【问题讨论】:
-
遇到了同样的问题。必须为特定页面禁用 turbolinks,这样它就不会加载两次破坏我的一些逻辑,但很高兴找到原因!
-
是的,我自己进行了一些测试,这似乎首先是 Chrome 的问题。在火狐上运行良好。但是,有一个解决方案需要将 Turbolinks 更新到 v. 1.3.1。但是,我有(可能你也有)v.2.2.0 并且问题仍然存在。希望有人对此有更多信息。将在这里更新我发现的内容。
标签: javascript jquery ruby-on-rails ruby-on-rails-4 turbolinks