Rails Turbolinks 5 导致 ui 闪烁?
Rails Turbolinks 5 causing causing ui flicker?
我的 rails 应用程序在 transition.Turbolinks 期间闪烁似乎是罪魁祸首。有谁知道如何停止闪烁或为什么它会闪烁?
如果您访问下面的 link 并单击任何登录按钮,您将复制我正在经历的事情。
奇怪的是,从 firefox 或 safari 访问它时没有问题。这只发生在最新版本的 chrome 和 Internet Explorer 上?所以我不确定是不是浏览器的问题
在 turbolinks 用新内容覆盖缓存之前加载缓存时会发生闪烁。我能够通过放置(在布局的 <head>
中)以下代码来解决此问题:
<meta name="turbolinks-cache-control" content="no-cache">
以上代码禁用了 turbolinks 缓存功能。无缓存 == 无 UI 闪烁。但是,使用浏览器中的后退或前进按钮现在可以进行网络调用(仍然通过 Turbolinks)
参见示例代码:https://github.com/DockerOnRails/todomvc-turbolinks
在使用 Turbolink.visit
之前还有一个清除缓存的选项(这会导致 UI 闪烁):通过调用 Turbolinks.clearCache()
,这将与禁用相同缓存,但让您能够在其他地方继续使用缓存。
我的 rails 应用程序在 transition.Turbolinks 期间闪烁似乎是罪魁祸首。有谁知道如何停止闪烁或为什么它会闪烁?
如果您访问下面的 link 并单击任何登录按钮,您将复制我正在经历的事情。
奇怪的是,从 firefox 或 safari 访问它时没有问题。这只发生在最新版本的 chrome 和 Internet Explorer 上?所以我不确定是不是浏览器的问题
在 turbolinks 用新内容覆盖缓存之前加载缓存时会发生闪烁。我能够通过放置(在布局的 <head>
中)以下代码来解决此问题:
<meta name="turbolinks-cache-control" content="no-cache">
以上代码禁用了 turbolinks 缓存功能。无缓存 == 无 UI 闪烁。但是,使用浏览器中的后退或前进按钮现在可以进行网络调用(仍然通过 Turbolinks)
参见示例代码:https://github.com/DockerOnRails/todomvc-turbolinks
在使用 Turbolink.visit
之前还有一个清除缓存的选项(这会导致 UI 闪烁):通过调用 Turbolinks.clearCache()
,这将与禁用相同缓存,但让您能够在其他地方继续使用缓存。