turbolinks导致js代码只能运行一次的解决办法
2019-07-25 本文已影响0人
苑畅
本站使用的是Rails框架开发的,并且有第三方的js. 其中有一个回到顶部的功能,部署时发现回到顶部的按钮只能成功运行一次,当浏览到其他页面后立即失效.本能反应应该是turbolinks的坑.
首先想到的是禁用turbolinks
在application.js 中删去
//= require turbolinks
然后在apploication.html.erb中删去
'data-turbolinks-track': 'reload'
问题完美解决.
但从另一方面来考虑,既然Rails中引入turbolinks,是为了加快页面的打开速度,如果直接弃用岂不是很可惜
于是去turbolinks的github看文档
turbolinksturbolinks用
document.addEventListener("turbolinks:load", function() {
})
替换了JQuery中的
$(document).ready(function(){
})