【发布时间】:2011-01-22 09:24:55
【问题描述】:
我在使用 window.location.href 时遇到了一个奇怪的 JavaScript 问题,这显然只影响 Firefox(我使用的是 3.6)。
通常window.location.href 不会是只读的,这在 Firefox 中完美运行:
window.location.href = "http://google.com/";
但是,当我调用一个函数来响应 onunload event (<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 event 成功调用了函数,所以问题似乎是编辑或替换window.location.href 的值。
我尝试过使用window.location、document.location.href,甚至尝试更改window.location.search。是否有可能某个事件(特别是 onunload 事件)导致 window.location.href 变为只读?
【问题讨论】:
标签: javascript firefox dom-events window.location