我的rails应用程序在转换过程中闪烁.Turbolinks似乎是罪魁祸首。有谁知道如何阻止闪烁或为什么它会闪烁?
如果您访问以下链接并单击任何登录按钮,您将复制我遇到的内容。
奇怪的是,从firefox或safari访问它时没有问题。这只发生在最新版本的chrome和Internet Explorer上?所以我不确定它是否是浏览器问题。
答案 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()
,这将与禁用缓存相同,但会为您提供能够在其他地方继续使用缓存。