Firefox扩展,在菜单的新前台选项卡中打开本地文件

Firefox扩展,在菜单的新前台选项卡中打开本地文件,firefox,firefox-addon,xul,Firefox,Firefox Addon,Xul,我正在学习如何编程Firefox扩展。我已经创建了一个新菜单,单击菜单项时,我希望在前台打开一个新选项卡,其中包含目录中包含的本地文件 例如: 菜单->项目1 选择Item1后,我希望在前台打开一个新选项卡,其中包含位于/myextension/content/content.html中的内容 我在哪里可以找到如何做到这一点 为清楚起见,我可以在新选项卡中打开本地文件,但我不知道如何在新的聚焦选项卡中打开。我使用以下功能打开选项卡,确保它尚未打开,并将焦点切换到它: function Open

我正在学习如何编程Firefox扩展。我已经创建了一个新菜单,单击菜单项时,我希望在前台打开一个新选项卡,其中包含目录中包含的本地文件

例如:

菜单->项目1

选择Item1后,我希望在前台打开一个新选项卡,其中包含位于/myextension/content/content.html中的内容

我在哪里可以找到如何做到这一点



为清楚起见,我可以在新选项卡中打开本地文件,但我不知道如何在新的聚焦选项卡中打开。

我使用以下功能打开选项卡,确保它尚未打开,并将焦点切换到它:

function OpenAndReuseOneTabPerURL(url) { var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator); var browserEnumerator = wm.getEnumerator("navigator:browser"); // Check each browser instance for our URL var found = false; while (!found && browserEnumerator.hasMoreElements()) { var browserWin = browserEnumerator.getNext(); var tabbrowser = browserWin.gBrowser; // Check each tab of this browser instance var numTabs = tabbrowser.browsers.length; for (var index = 0; index < numTabs; index++) { var currentBrowser = tabbrowser.getBrowserAtIndex(index); if (url == currentBrowser.currentURI.spec) { // The URL is already opened. Select this tab. tabbrowser.selectedTab = tabbrowser.tabContainer.childNodes[index]; // Focus *this* browser-window browserWin.focus(); found = true; break; } } } // Our URL isn't open. Open it now. if (!found) { var recentWindow = wm.getMostRecentWindow("navigator:browser"); if (recentWindow) { // Use an existing browser window recentWindow.delayedOpenTab(url, null, null, null, null); } else { // No browser windows are open, so open a new one. window.open(url); } } } 函数openandureOneTablePerUrl(url) { var wm=Components.classes[“@mozilla.org/appshell/windowmediator;1”].getService(Components.interfaces.nsIWindowMediator); var browserEnumerator=wm.getEnumerator(“导航器:浏览器”); //检查每个浏览器实例的URL var=false; 而(!found&&browserEnumerator.hasMoreElements()) { var browserWin=browserEnumerator.getNext(); var tabbrowser=browserWin.gBrowser; //检查此浏览器实例的每个选项卡 var numTabs=tabbrowser.browsers.length; 对于(变量索引=0;索引
OpenAndReuseOneTabPerURL(“http://yoururl.com");