jquery 数据表在浏览器刷新之前未格式化
jquery Datatables not formatted until browser refresh
我在 Rails 5.2、MacOS 10.13.4、ruby 2.3.7p456。我正在关注 this guide 以实施 jquery 数据table。在开发和生产中,tables 加载时没有数据table 格式,但在浏览器刷新后,tables 显示与数据table 格式完美。我正在使用 CDN 安装。
这是初始加载的屏幕截图:
然后刷新后:
我的application.html.erb:
<head>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>
在我的 html 中 table 有 id = 'search'
search.coffee 文件:
$(document).ready ->
$('#search').DataTable()
return
最后 application.js 文件:
//= require jquery3
//= require popper
//= require bootstrap
//= require rails-ujs
//= require jquery.turbolinks
//= require turbolinks
//= require_tree .
我尝试将 CDN 脚本从 application.html.erb 移动到显示页面,删除加载 jquery 脚本,并在加载 [=52] 中使用不同版本的 jquery =] 脚本。我试过 Chrome 版本 67.0.3396.79 和 Safari 版本 11.1。所有这些都没有改变。
有人 运行 参与其中吗?我看到 this question: 并尝试将 gem 'jquery-turbolinks'
添加到 gemfile 并将 //= require jquery.turbolinks
添加到 application.js,并且在捆绑安装并重新启动服务器后,仍然没有变化。
为了让数据表正常运行,我从我的应用程序中完全删除了 turbolinks。
从这里的答案对此做出回应 -
在某些时候 $(document).ready 调用被 turbolinks 折旧,尝试:
$( document ).on('turbolinks:load', function() {
console.log("It works on each visit!")
})
我在 Rails 5.2、MacOS 10.13.4、ruby 2.3.7p456。我正在关注 this guide 以实施 jquery 数据table。在开发和生产中,tables 加载时没有数据table 格式,但在浏览器刷新后,tables 显示与数据table 格式完美。我正在使用 CDN 安装。
这是初始加载的屏幕截图:
然后刷新后:
我的application.html.erb:
<head>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>
在我的 html 中 table 有 id = 'search'
search.coffee 文件:
$(document).ready ->
$('#search').DataTable()
return
最后 application.js 文件:
//= require jquery3
//= require popper
//= require bootstrap
//= require rails-ujs
//= require jquery.turbolinks
//= require turbolinks
//= require_tree .
我尝试将 CDN 脚本从 application.html.erb 移动到显示页面,删除加载 jquery 脚本,并在加载 [=52] 中使用不同版本的 jquery =] 脚本。我试过 Chrome 版本 67.0.3396.79 和 Safari 版本 11.1。所有这些都没有改变。
有人 运行 参与其中吗?我看到 this question: 并尝试将 gem 'jquery-turbolinks'
添加到 gemfile 并将 //= require jquery.turbolinks
添加到 application.js,并且在捆绑安装并重新启动服务器后,仍然没有变化。
为了让数据表正常运行,我从我的应用程序中完全删除了 turbolinks。
从这里的答案对此做出回应 -
在某些时候 $(document).ready 调用被 turbolinks 折旧,尝试:
$( document ).on('turbolinks:load', function() {
console.log("It works on each visit!")
})