javascript - Rails 加载 js 不一致
问题描述
很常见的问题:由于 turbolinks,rails 加载 js 和 jQuery 非常不一致。不幸的是,像这样的东西$(document).on("turbolinks:load", function () { code });
并没有解决一致性问题。
例如:如果我使用 rails slick slider 之类的咖啡脚本运行的东西一切正常,我在资产树中获得的自定义 js 无法始终加载。重新加载页面时,js 就在那里,通过 turbolinks 导航有时会使脚本消失/不加载。
自从我的 Rails 职业生涯开始以来,我就遇到了这个问题,但无法解决。即使像这样的东西<meta name="turbolinks-cache-control" content="no-cache">
也没有影响。如何让我的脚本加载 100% 一致?
我已经尝试$(document).on("turbolinks:load", function () { code });
过<meta name="turbolinks-cache-control" content="no-cache">
我能做些什么?
解决方案
如果您愿意删除 turbolink 来解决此问题,您可以这样做;
在application.js中删除//= require turbolinks
在Gemfile中删除gem 'turbolinks', '~> 5'
在 application.html.erb 中'data-turbolinks-track': 'reload'
从 thestylesheet_link_tag
和 the中删除javascript_include_tag
我遇到了同样的问题,我发现删除 turbolinks 是唯一的解决方案。
推荐阅读
- python - 在 Django 中安排文件下载
- flutter - Flutter 自定义画家剪影
- c# - 如何为 Unity 3D 修复此脚本
- javascript - 为什么一个简单的 React 组件会渲染两次?
- excel - Excel有没有办法选择一个类别中最大的两个项目,然后减去它们?
- c# - WPF 中用于导出包含许多项目的 ListBox 控件内容的解决方案
- r - dplyr 均值问题(参数不是数字或逻辑:返回 NA)
- python - python ThreadPoolExecutor 在我得到结果时关闭所有线程
- android - 我刚刚安装了 Flutter、Android Studio 和 VS CODE,但我无法让 Flutter Doctor 消除以下错误-
- javascript - 如何在获取输出信息时使 Zapier 代码步骤失败