gpt4 book ai didi

javascript - 从 boostraped 扩展创建新选项卡

转载 作者:行者123 更新时间:2023-12-02 17:26:53 27 4
gpt4 key购买 nike

我在 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);

网络上关于无需重新启动扩展的资源很少。谁能提供一个打开指定 URL 的新选项卡的示例?

最佳答案

您需要先获得一个窗口,然后才能在其中打开新选项卡。

这里的示例获取最新的导航器窗口并向其添加一个选项卡:

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

关于javascript - 从 boostraped 扩展创建新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23447130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com