javascript - 在 Firefox 中捕获弹出窗口并通知用户

标签 javascript popup firefox-addon popupwindow dom-events

有一个网站会在其网站上随机显示一些事件弹出窗口。如果在 Firefox 等网站上显示弹出窗口时通知用户,这将非常有用。是否可以在 Javascript 或任何附加组件等的帮助下实现?

最佳答案

两个选项。

nsIWindowWatcher - https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIWindowWatcher

nsiWindowMediator - https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWindowMediator

这是 nsiwindowmediator 方式:

/*start - windowlistener*/
var windowListener = {
    onOpenWindow: function (aXULWindow) {
        // Wait for the window to finish loading
        let aDOMWindow = aXULWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowInternal || Ci.nsIDOMWindow);
        aDOMWindow.addEventListener('load', function () {
            aDOMWindow.removeEventListener('load', arguments.callee, false);
            //window loaded, now the website will load so addeventlistener for that
            //check what the website loading is here, if its your campain thing then block it
        }, false);
    },
    onCloseWindow: function (aXULWindow) {},
    onWindowTitleChange: function (aXULWindow, aNewTitle) {},
};
/*end - windowlistener*/

Services.wm.addListener(windowListener);
//Services.wm.removeListener(windowListener);

现在在onOpenWindow中,你可以看到打开的窗口是什么,如果是那个网站,那么就关闭那个窗口。

关于javascript - 在 Firefox 中捕获弹出窗口并通知用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271472/

相关文章:

javascript - CreateJS:无法使补间工作

javascript - 在声明文件中描述 mixins

javascript - 匹配句子中的确切字符串

javascript - 计算 div 内填充输入的百分比

grails - 弹出消息窗口中有grails?

javascript - 如何打开弹出窗口、检测其关闭以及重定向主窗口

javascript - 如何在我的 javascriptAPP 中从 C# 打开弹出消息?

javascript - JavaScript 中的条码扫描器?或插件/扩展

Firefox 扩展 API -permissions.request 只能从用户输入处理程序调用?

json - 为什么 Firefox 原生 JSON 查看器无法满足我的请求?