Javascript 更改Firefox中的window.location.href以响应onunload事件

Javascript 更改Firefox中的window.location.href以响应onunload事件,javascript,firefox,javascript-events,window.location,Javascript,Firefox,Javascript Events,Window.location,我在使用window.location.href时遇到了一个奇怪的JavaScript问题,这显然只会影响我使用的Firefox 3.6 通常window.location.href不是只读的,这在FF中非常有效: window.location.href = "http://google.com/"; 但是,当我调用一个函数来响应onunload事件时,这并不像预期的那样工作: function testThis() { alert ("1: " + window.location.

我在使用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变为只读?

是,以防止恶意网页阻止用户离开。

是,以防止恶意网页阻止用户离开。

有关记录,firefox似乎使用document.location代替document.location.href.

作为记录,firefox似乎使用document.location代替document.location.href.

我对此非常感激:-onbeforeunload也是这样吗?我想是的。我还认为,您可以返回一个字符串,然后显示在确认对话框中让用户确认导航离开或取消/停留。可能有许多原因阻止用户使用后退按钮,比如防止用户重新提交表单草率的编程,或者像一些掌握了一点知识的客户坚持要求他们的内联网用户在开始测试或调查后不能返回到以前的页面。我会让你们集体想象哪一个适用于这里。。。是否有阻止编辑窗口属性的事件的文档?哪些浏览器受到影响``没有公开的规范。onbeforeunload由Microsoft IE 4引入,随后被其他浏览器复制。作为一个人,我非常感激:-onbeforeunload也是这样吗?我想是的。我还认为,您可以返回一个字符串,然后显示在确认对话框中让用户确认导航离开或取消/停留。可能有许多原因阻止用户使用后退按钮,比如防止用户重新提交表单草率的编程,或者像一些掌握了一点知识的客户坚持要求他们的内联网用户在开始测试或调查后不能返回到以前的页面。我会让你们集体想象哪一个适用于这里。。。是否有阻止编辑窗口属性的事件的文档?哪些浏览器受到影响``没有公开的规范。onbeforeunload由Microsoft IE 4引入,随后被其他浏览器复制。´´