【发布时间】:2013-02-15 04:43:13
【问题描述】:
我想构建一个 JS 外部脚本(标签)来阻止像 location.href 这样的代码(通常不是我的)在不使用弹出窗口的情况下发生。 我试过这样的事情:
$(window).bind('beforeunload', function() {
window.stop();
event.stopImmediatePropagation();
event.preventDefault();
location.href = '#';
});
但似乎没有任何帮助。 再次,我需要它而不使用:返回“你确定吗?” 也许是不同的回调?
谢谢, 丹
【问题讨论】:
-
不可能。在没有用户输入的情况下停止导航会破坏浏览的工作方式。
-
我也有同样的感觉。以 Firefox 为例,出于安全原因,他们故意阻止覆盖 window.location.href。见this bug in bugzilla。
-
其实是可以的。否则,询问您是否要“离开并丢失更改”的网站将不存在。 beforeunload 事件存在,即使您关闭窗口而没有冲浪,它也会捕获。
标签: javascript jquery location href