【发布时间】:2025-11-22 05:45:02
【问题描述】:
我将如何覆盖/捕获 javascript 重定向?
例如:
window.location.href="http://example.com";
值“http://example.com”将被捕获并可能被更改。
【问题讨论】:
-
这可能有帮助吗? *.com/questions/3522090/…
标签: javascript html dom redirect href
我将如何覆盖/捕获 javascript 重定向?
例如:
window.location.href="http://example.com";
值“http://example.com”将被捕获并可能被更改。
【问题讨论】:
标签: javascript html dom redirect href
AFAIK 你可以捕捉到这个事件,但你不能改变目标 url。如果他想取消重定向,您只能提示用户。为此,您可以订阅before unload event:
window.onbeforeunload = function (e) {
var e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'Are you sure you want to leave the site?';
}
// For Safari
return 'Are you sure you want to leave the site?';
};
【讨论】:
false 不应该工作。您必须只返回一个字符串。
e 似乎不包含目标网址。
您可以尝试使用__defineSetter()__,但它可能不适用于主机对象。
【讨论】:
找到所有使用这个的代码:
window.location.href="http://example.com";
并将其更改为:
openURL("http://example.com");
然后,实现这个功能,您可以随意控制重定向:
function openURL(url) {
// examine url and decide if you want to modify it
window.location = url;
}
【讨论】: