我在Firefox中的引导扩展程序中创建新选项卡时遇到了一些问题。到目前为止,我有一个扩展,为上下文菜单绘制一些按钮,可以点击windows.open()
点击打开模态窗口,如下所示:
var contextMenu = document.getElementById("contentAreaContextMenu");
var menuItemWebsite = document.createElement("menuitem");
menuItemWebsite.setAttribute("id", "dev-website");
menuItemWebsite.setAttribute("label", "Go to website");
contextMenu.appendChild(menuItemWebsite);
menuItemWebsite.addEventListener("command", function() {
window.open(...);
}, false);
网上很少有关于无重启扩展的资源。任何人都可以提供一个打开新标签到指定网址的示例吗?
答案 0 :(得分:2)
您需要先获得一个窗口,然后才能打开其中的新标签。
此示例此处获取最新的导航器窗口并向其添加选项卡:
const {classes: Cc, Constructor: CC, interfaces: Ci, utils: Cu, results: Cr, manager: Cm} = Components;
Cu.import('resource://gre/modules/Services.jsm');
var aDOMWindow = Services.wm.getMostRecentWindow('navigator:browser');
aDOMWindow.BrowserOpenTab()
另一种方法是使用gBrowser.loadOneTab: 这样:
aDOMWindow.gBrowser.loadOneTab(aDOMWindow.BROWSER_NEW_TAB_URL, {relatedToCurrent:true});
这将打开当前焦点选项卡旁边的选项卡。 有关它的更多信息:https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/loadOneTab
还有其他有用的功能:
OpenBrowserWindow