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