没有浏览器加载栏

时间:2014-09-04 16:25:09

标签: ruby-on-rails ruby ruby-on-rails-4

我似乎无法找到类似的问题 在我的网站上,我遇到的问题是,在完全呈现页面之前,浏览器进度条不会显示 这在一个非常慢的页面(我正在努力)上尤其糟糕。这看起来链接可能已被破坏而不是仅仅花费一些时间 看着网络
当前页面上有一个返回304的GET方法,运行时间约为3-5秒 一旦完成,新网站将加载近乎即时的进度条 我不确定我可以分享哪些代码,因为我的网站上到处都是这样,在某些页面上它更加引人注目。
要查看情况更糟,请转到http://www.swtorconquest.com/conquestweeks,然后点击" The Trade Emporium"或者"在超空间中发生冲突"。
我在本地测试和部署站点时遇到此问题 我使用的是ruby 2.1.2和rails 4.1.5

2 个答案:

答案 0 :(得分:2)

问题几乎肯定是 Turbolinks ,尽管这只是猜测。缺乏任何其他答案,我希望能够给你一些想法:


当您使用Turbolinks加载页面时,它实际上会通过Ajax加载页面的<body>标记,导致<head>完整无缺。

如果处理不当,这会导致很多问题,其中之一(我们发现)是您的浏览器无法再确定页面的加载速度。这可能是你的问题所在。


虽然我没有完全修复,但我确实有测试。

您可以尝试在应用程序的这一部分的各个页面中删除对Turbolinks的任何引用。这可以通过使用以下方法来完成:

#app/views/layouts/application.html.erb
<%= javascript_include_tag "application" %> => remove the turbolinks reference
<%= stylesheet_link_tag "application" %> => remove the turbolinks reference

此外,您需要从Gemfile中移除Turbolink &amp;你的application.js

#app/assets/javascripts/application.js
//= require turbolinks => remove this line

这将使您能够判断是否存在阻止状态栏正确加载的turbolinks。如果是,那么你将不得不解决这个问题(我手头没有任何补救措施)

必须注意的是,此测试不会加快加载时间 - 它只会显示状态栏问题是否由Turbolinks引起

答案 1 :(得分:2)

做一件事,在application.html.erb,在body标记添加此内容,它将解决您的问题

<body data-no-turbolink>