禁用Firefox 29扩展中的beforeunload对话

乔希

我试图在Firefox扩展中禁用beforeUnload对话框,该扩展通过将窗口包装在XPCNativeWrapper中并使用addeventlistener重新定义window.onbeforeunload来解决直到FF28为止。

JavaScript示例:

var win = new XPCNativeWrapper(window, "onbeforeunload", "event", "addEventListener()");
var beforeUnload = win.onbeforeunload;
win.onbeforeunload = null;
var newBeforeUnload = function(e) {
    beforeUnload();
    //code to remove dialog
}
win.addEventListener('beforeunload', newBeforeUnload, false);

当beforeUnload方法更改页面位置时,这已在FF29中停止工作。在FF29中,我收到错误消息“拒绝从脚本访问'chrome://browser/content/page.html'”。

页面上的JS示例:

window.onbeforeunload = function() {
    parent.frame2.location="page.html";
};
乔希

因此,我可以使用以下方法解决我的问题:

windowToModify.location.replace("javascript:(" + function() {
    window.oldBeforeUnload = window.onbeforeunload;
    window.onbeforeunload = function(E) {
        window.oldBeforeUnload();
        var evt = e || window.event;
        if (evt && evt.returnValue) {
            delete evt['returnValue'];
        }
    };
    window.onunload = null;
} + ")()");

因此,javascript:(/ *某些javascript作为字符串* /)是有效的位置,它将在窗口/框架的范围内运行。该脚本设置了一个名为window.oldBeforeUnload的属性,然后重写onbeforeunload以禁用卸载前对话框。

这应该在FF 3.6+中有效

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

禁用Firefox 29扩展中的beforeunload对话

来自分类Dev

禁用nsILoginManagerPrompter for Firefox扩展

来自分类Dev

禁用Firefox中的打印

来自分类Dev

以编程方式禁用firefox扩展

来自分类Dev

以编程方式禁用firefox扩展

来自分类Dev

无法在Firefox中启用或禁用扩展

来自分类Dev

禁用Firefox中的标签页?

来自分类Dev

禁用Firefox中的加载通知

来自分类Dev

禁用Firefox中的标签页?

来自分类Dev

如何禁用Firefox中的缓存?

来自分类Dev

禁用的Firefox扩展会使Firefox变慢吗?

来自分类Dev

禁用Firefox中的本地存储,但不禁用cookie

来自分类Dev

如何完全禁用Firefox中的推送通知?

来自分类Dev

禁用“启用通知?” Firefox中的弹出窗口

来自分类Dev

在Firefox 29.0中禁用http超时

来自分类Dev

在Firefox中禁用网络摄像头

来自分类Dev

如何在Firefox中禁用file://协议?

来自分类Dev

在Firefox中禁用指针锁定通知

来自分类Dev

如何禁用Firefox推送通知中的图像?

来自分类Dev

如何在Firefox中禁用HTTP Referrer?

来自分类Dev

是否可以在Firefox中禁用JavaScript?

来自分类Dev

在Firefox 66中禁用自动播放

来自分类Dev

在Firefox中禁用活动选择

来自分类Dev

如何禁用 Firefox 中的全局菜单?

来自分类Dev

如何在firefox ..中禁用content_script.js?

来自分类Dev

如何使用watir-webdriver禁用Firefox中的下载窗口?

来自分类Dev

禁用Firefox中的密码自动完成功能?

来自分类Dev

如何在FireFox中禁用“此连接不受信任”证书?

来自分类Dev

在Firefox中禁用onmouseenter iframe的主窗口滚动