Firefox addon firefox扩展,使通知框出现在所有选项卡中

Firefox addon firefox扩展,使通知框出现在所有选项卡中,firefox-addon,Firefox Addon,Firefox有一个本机通知框系统: 我想使用这个系统的方式,它出现在所有打开的标签,当它应该出现。我的代码只在当前打开的选项卡中警告您 var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation).QueryInterface(Components.interfaces.nsIDoc

Firefox有一个本机通知框系统:

我想使用这个系统的方式,它出现在所有打开的标签,当它应该出现。我的代码只在当前打开的选项卡中警告您

var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation).QueryInterface(Components.interfaces.nsIDocShellTreeItem).rootTreeItem.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow);
var nb = mainWindow.gBrowser.getNotificationBox();
//...
outdatedNotification = nb.appendNotification("Your information outdated",
                                'outdate-warn',
                                'chrome://checksistem/skin/checksistem.png',
                                priority, buttons);

每个选项卡都有自己的通知框。您只需要遍历所有浏览器并向每个浏览器添加通知。您应该知道,gBrowser.getNotificationBox可以接受浏览器元素:

如果未传递浏览器,代码将返回活动选项卡的通知框

试试这个:

var browsers = mainWindow.gBrowser.browsers; for (var i=0; i<browsers.length; i++) { var nb = mainWindow.gBrowser.getNotificationBox(browsers[i]); outdatedNotification = nb.appendNotification("Your information outdated", 'outdate-warn', 'chrome://checksistem/skin/checksistem.png', priority, buttons); } var browsers=mainWindow.gBrowser.browsers;
对于(var i=0;i每个选项卡都有自己的通知框。您只需遍历所有浏览器并将通知添加到每个浏览器中。您应该知道的一件事是gBrowser.getNotificationBox可以使用浏览器元素:

如果未传递浏览器,代码将返回活动选项卡的通知框

试试这个:

var browsers = mainWindow.gBrowser.browsers; for (var i=0; i<browsers.length; i++) { var nb = mainWindow.gBrowser.getNotificationBox(browsers[i]); outdatedNotification = nb.appendNotification("Your information outdated", 'outdate-warn', 'chrome://checksistem/skin/checksistem.png', priority, buttons); } var browsers=mainWindow.gBrowser.browsers; 对于(var i=0;i