javascript - 在 Firefox 中更改 window.location.href 以响应 onunload 事件

标签 javascript firefox dom-events window.location

我在使用 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/

相关文章:

javascript - 如何在 meteor 中制作一个电话应用程序,它可以为每个人存储不同的数据,但从不要求用户登录?

javascript - JavaScript 中的自定义事件与简单地调用常规函数有何不同?

javascript - 浏览器如何知道我的鼠标光标指向哪个元素?

jQuery .css ('border' ) 在 Firefox 中不返回任何内容

javascript - AJAX div 在没有警告调用的情况下不会更新,错误为 : b. 数据未定义

javascript - Angular 火 : Delete item(s)

javascript - 在javascript中按数字随机化颜色

javascript - 使用 Javascript 下载二进制文件

Firefox 中的 JQuery 动画卡顿

css - 自定义复选框在 Firefox 上不起作用