如何在Firefox Webextension中获得弹出窗口

如何在Firefox Webextension中获得弹出窗口,firefox,google-chrome-extension,firefox-addon,Firefox,Google Chrome Extension,Firefox Addon,我已经使用以下教程将chrome webextension移植到firefox 我设法在Firefox中安装了插件,但与chrome不同,我无法打开弹出窗口 在chrome中,通过清单调用的JS文件包含以下代码行 chrome.browserAction.onClicked.addListener(function(tab){ createPopup(tab.url) }) function createPopup(url) { new_window = window.open('

我已经使用以下教程将chrome webextension移植到firefox

我设法在Firefox中安装了插件,但与chrome不同,我无法打开弹出窗口

在chrome中,通过清单调用的JS文件包含以下代码行

chrome.browserAction.onClicked.addListener(function(tab){
  createPopup(tab.url)
})

function createPopup(url) {
    new_window = window.open('https://www.myurl.com?external=true&share_url='+url,'My site','height=600px,width=600px');
}
这很好,会弹出我需要的窗口,但当我在firefox中运行它时,会出现以下错误:


[异常…“故障”nsresult:“0x80004005(NS\u错误\u故障)”位置:“JS帧::moz”-extension://282abc47-9416-3a4e-a2f6-f090514fbabc/popup.js ::createPopup::第7行“数据:否”

您可能遇到了以下错误:。该bug建议使用特定于扩展的API打开窗口作为解决方法。

正如我显然自愿提供的,下面是一个特定于扩展的代码示例,它没有遇到这种情况:

function createPopup(url) {
    chrome.windows.create({
        url: 'https://www.myurl.com?external=true&share_url='+url,'My site',
        width: 600,
        height: 600,
        type: 'popup'
    });
}

function createTab(url) { // Just in case you want a tab, not a separate window
    chrome.tabs.create({
        url: 'https://www.myurl.com?external=true&share_url='+url
    });
}

请注意,您不会获得对新打开文档的
窗口的引用;你需要一个内容脚本来与它交互。

你在哪一版本的Firefox中运行了这个插件?为了测试我的插件,我在夜间构建中运行了它。这是一种非常非扩展的方式来打开弹出窗口。好旧的
chrome.windows.create发生了什么事?也就是说,您在一个不稳定的Firefox版本中遇到了一个bug。我不确定你的问题是什么-如何解决?如果你在
chrome.windows.open中加入一个单行程序示例会有所帮助。感谢你的自愿参与!