我在使用 window.location.href
时遇到了一个奇怪的 JavaScript 问题,这显然只影响 Firefox(我使用的是 3.6)。
通常 window.location.href
不会是只读的,这在 Firefox 中完美运行:
window.location.href = "http://google.com/";
但是,当我调用函数响应 onunload
时事件 ( <body onunload="testThis();">
),这没有按预期工作:
function testThis() {
alert ("1: " + window.location.href);
window.location.href = "http://google.com/";
alert ("2: " + window.location.href);
return false;
}
在这两种情况下,警报都会显示页面在 Firefox 中的当前位置,而不进行更改。没有 JavaScript 错误,onunload
事件成功调用函数,因此问题似乎是编辑或替换 window.location.href
的值.
我试过使用 window.location
, document.location.href
, 甚至尝试更改 window.location.search
.是否有可能发生事件,特别是 onunload
事件,原因 window.location.href
变为只读?
最佳答案
是的,防止恶意网页阻止用户离开。
关于javascript - 在 Firefox 中更改 window.location.href 以响应 onunload 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357625/