Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TurboLink不工作-而是加载页面两次_Javascript_Jquery_Ruby On Rails_Ruby On Rails 4_Turbolinks - Fatal编程技术网

Javascript TurboLink不工作-而是加载页面两次

Javascript TurboLink不工作-而是加载页面两次,javascript,jquery,ruby-on-rails,ruby-on-rails-4,turbolinks,Javascript,Jquery,Ruby On Rails,Ruby On Rails 4,Turbolinks,因此,在我的Rails 4应用程序中,我有Turbolinks gem //= require jquery.js //= require jquery.turbolinks //= require turbolinks 然而,似乎有点不对劲。Turbolinks的关键不就是你不必在一开始就加载所有的jquery/css/asset管道吗?这似乎没有发生,每次请求新页面时,它都会加载所有jquery,而且,它甚至会使每个页面加载两次。例如: Started GET "/" for ip at

因此,在我的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相关的bug。在Firefox上运行良好。另外,我的gem版本是v.2.2.0。

您是否将行
放在页面的
标记之间,而不是
中?有一次,我从TurboLink收到各种奇怪的错误,这就是原因。

遇到了同样的问题。必须禁用特定页面的turbolinks,这样它就不会加载两次,这会破坏我的一些逻辑,但最好能找到原因!是的,我自己做了一点测试,一开始似乎是Chrome的问题。在Firefox上运行良好。然而,有一种解决方案要求TurboLink更新为v。1.3.1. 但是,我有(可能你也有)v.2.2.0,问题仍然存在。希望有人对此有更多的信息。将在此处更新我发现的内容。使用TurboLink,纸条必须进入
。这是因为TurboLink的工作原理是在更改页面时交换
,这样做将重新执行所有第三方脚本(想象jQuery被重新评估),这可能不是您想要的。这就是我的观点——我告诉他要确保他的剧本是在脑子里,而不是在身体里。