问题描述
我有一个 js 插件,可以在成功操作后重定向页面。
我想捕获页面卸载并重定向到我自己的 url。
我尝试使用beforeunload事件,但我无法使用它,因为它只是询问用户是否可以离开页面。
不完全是我要找的。
插件做什么并不重要,问题是:
是否可以捕获页面重定向事件,然后重定向到另一个 url?
1楼
如果您的意思是要在网页(而不是浏览器扩展程序)中的代码中执行此操作,则不能。 如果用户想要关闭页面或导航到不同的页面,他们离开的页面中的 JavaScript 代码无法阻止它。 这是垃圾网站早期试图做的事情,现在浏览器可以适当地阻止它。
(如果您也可以在浏览器扩展程序中执行此操作,我会感到惊讶,但它们确实比普通网页具有更多功能。)
2楼
这是您预期的行为吗?
document.onbeforeunload = function (e) {
var e = e || window.event;
e.returnValue = "sure?";
}
var test = document.getElementById("reload_test");
test.onclick = function () {
document.onbeforeunload = function(){};
}
我正在创建离开提示,但在您尝试移动到另一个网页时清空“onbeforeunload”方法。
JSFiddle 似乎按您的预期工作(在其他一些浏览器上可能会有一些问题,因为我不知道它们如何处理“onbeforeunload”事件)。