有一个网站会在其网站上随机显示一些事件弹出窗口。如果在 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/