在 Rails 上使用 ruby,我的代码由以下咖啡脚本触发;
$ = jQuery
$(document).on "turbolinks:load", ->
if window.progress?
// execute code on a div with an id of ```target```
在代码要触发的页面上,我有一个 divtarget
和一个加载progress
参数的脚本标签,例如
<%= javascript_tag id: "window_vars" do %>
window.progress = <%= raw graph.data.to_json %>
<% end -%>
如果没有 turbolinks,那么这可以正常工作,代码在它打算的页面上触发并且不会在其他页面上触发。但是,如果我启用 turbolinks 5.0.1 并访问代码不触发的页面,然后访问代码触发的页面,然后返回代码不触发的页面,代码触发在最后一页有一个例外。似乎 turbolinks 没有在页面加载之间清除 window.progress 变量。
如何确保通过脚本加载的窗口变量在页面之间被清除?