Rails Turbolinks 5导致ui闪烁?

时间:2016-10-05 02:41:18

标签: ruby-on-rails-5 turbolinks-5

我的rails应用程序在转换过程中闪烁.Turbolinks似乎是罪魁祸首。有谁知道如何阻止闪烁或为什么它会闪烁?

如果您访问以下链接并单击任何登录按钮,您将复制我遇到的内容。

奇怪的是,从firefox或safari访问它时没有问题。这只发生在最新版本的chrome和Internet Explorer上?所以我不确定它是否是浏览器问题。

1 个答案:

答案 0 :(得分:8)

在turbolinks用新内容覆盖缓存之前加载缓存时会发生闪烁。我能够通过放置(在布局的<head>中)以下代码来解决这个问题:

<meta name="turbolinks-cache-control" content="no-cache">

以上代码禁用了turbolinks缓存功能。没有缓存==没有UI闪烁。但是,使用浏览器中的后退或前进按钮现在将进行网络呼叫(仍然通过Turbolinks

请参阅示例代码:https://github.com/DockerOnRails/todomvc-turbolinks

在使用Turbolink.visit之前还有另一个清除缓存的选项(导致UI闪烁):通过调用Turbolinks.clearCache(),这将与禁用缓存相同,但会为您提供能够在其他地方继续使用缓存。