我只学习JS,据我所知,如果你有一些长脚本,而脚本执行时用户离开页面 - 脚本仍然可以用到它结束,对吗?
例如,我有自定义404页面,在页面上我有脚本将在5秒后将用户重定向到主页面。它看起来像这样:
<script>
var redirecting = document.getElementById("count_down");
var counter = 5;
var newElement = document.createElement("p");
newElement.innerHTML = "You will be redirected to main page in 5 seconds.";
var id;
redirecting.parentNode.replaceChild(newElement, redirecting);
id = setInterval(function () {
counter--;
if(counter < 0) {
newElement.parentNode.replaceChild(redirecting, newElement);
window.location.replace('<%= root_path %>');
} else {
newElement.innerHTML = "You will be redirected to main page in " + counter + " seconds.";
}
}, 1000);
</script>
非常简单的脚本。但是,如果用户在脚本计数时点击菜单链接(例如&#34;关于我们&#34;),他将被重定向到&#34;关于我们&#34;页面,当JS counter var达到0时,他将被重定向到主页面。但他已经访问过&#34;关于我们&#34;并将被重定向到#34;关于我们&#34;。希望我能清楚自己。
所以,我的问题是:&#34;如果用户使用带有脚本的页面,我如何阻止JS执行?&#34;