我使用window.location.href有一个奇怪的JavaScript问题,这显然只会影响Firefox(我使用的是3.6)。
通常window.location.href不是只读的,这在FF中完美地运行:
window.location.href = "http://google.com/";
但是,当我调用函数来响应onunload事件()时,这不能按预期工作:
function testThis() {
alert ("1: " + window.location.href);
window.location.href = "http://google.com/";
alert ("2: " + window.location.href);
return false;
}
在这两种情况下,警报都会在FF中显示页面的当前位置,而不进行更改。没有JavaScript错误,onunload事件成功调用该函数,因此问题似乎是编辑或替换window.location.href的值。
我尝试过使用window.location,document.location.href,甚至尝试更改window.location.search。事件(特别是onunload事件)是否可能导致window.location.href变为只读?
答案 0 :(得分:5)
是的,以防止恶意网页阻止用户离开。
答案 1 :(得分:0)
对于记录,firefox似乎使用document.location代替document.location.href。