我正在开发一个Rails Gem,它的一部分功能会将一个javascript跟踪代码注入到rails视图/页面的HTML主体中。
然而,Turbolinks给了我一个问题。我的跟踪代码脚本在具有完整页面刷新的页面上运行良好,但对于没有完整页面的页面,脚本不会运行(尽管我可以看到它存在于HTML正文中)
没有Turbolinks,一切正常但我知道很多人都使用它,所以想找到一个解决方案来使用它(所以Jquery.turbolinks gem并不是真正的解决方案)
这是我到目前为止所尝试的内容。 (我已经安慰记录了'工作?'以查看turbolinks:load事件是否实际上是在我期望它的页面上触发,它是。所以现在只是不确定为什么脚本'trackingCode'函数不会触发无论是。)
var trackingCode;
trackingCode = function() {
// my javascript code
};
$(document).ready(trackingCode)
$(document).on('page:load', trackingCode)
$(document).on('ready turbolinks:load', trackingCode);
$(document).on('ready turbolinks:load', console.log('working?'))
希望这很清楚,但如果需要更多信息,请告诉我。
由于
答案 0 :(得分:0)
删除'ready'。
$(document).on('turbolinks:load', function() {
console.log('it works');
});
或者对于turbolinks-classic
$(document).on('page:change', function() {
console.log('it works');
});