javascript - 每次在 Rails 5 应用程序中加载 turbolinks 时执行 JS

标签 javascript ruby-on-rails turbolinks

我想在每次加载 turbolinks 时(即加载页面)执行几行 js,而不是缓存中的 js,但每次都想在 turbolinks 加载事件之前强制运行它。这可能吗?

我试图通过隐藏 html 主体并在 app.js.coffee 中执行此操作来摆脱 FOUC

$(document).on 'turbolinks:load', ->
    document.body.style.visibility = 'visible'

但是 FOUC 在第 3 次或第 4 次重新加载页面后开始启动。

要观看现场直播,here是网站的链接。

最佳答案

Turbolinks 仅在使用该页面上的链接时加载,而不是在刷新页面或通过 url 导航时加载。如果您想在页面加载时运行 js,请使用 $(document).ready(function() { executable js here });

关于javascript - 每次在 Rails 5 应用程序中加载 turbolinks 时执行 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38420211/

相关文章:

ruby-on-rails - Heroku 上 SSL 的解决方法

ruby-on-rails - Rails turbolinks 中断提交远程表单

javascript - 使用 rails 和 turbolinks 运行 facebook pixel

javascript - 用一个字符串数组拼接另一个数组?

javascript - touchstart 阻塞按钮监听器

ruby-on-rails - 我可以使用 rails 的设计将 linkedin 连接到我的站点吗?

ruby-on-rails - Font Awesome 图标未在动态渲染的部分上渲染

javascript - 使用 jquery 从文件中获取 JSON 数据

javascript - 在路线上添加权限/路线

ruby-on-rails - 我无法访问 Rails 控制台