我如何重写/捕获javascript重定向?
例如:
window.location.href="http://example.com";
值" http://example.com"会被抓住并可能被改变。
答案 0 :(得分:5)
AFAIK您可以捕获此事件,但您无法更改目标网址。您只能提示用户是否要取消重定向。为此,您可以订阅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?';
};
答案 1 :(得分:1)
您可以尝试使用__defineSetter()__
,但它可能不适用于主机对象。
答案 2 :(得分:0)
查找使用此代码的所有代码:
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;
}