Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox插件:在另一个选项卡中打开url_Url_Firefox_Tabs - Fatal编程技术网

Firefox插件:在另一个选项卡中打开url

Firefox插件:在另一个选项卡中打开url,url,firefox,tabs,Url,Firefox,Tabs,我试图在一个url上创建一个上下文菜单,以使其在另一个选项卡中打开修改过的url。我做错了什么?我没有收到任何错误,但新选项卡也不会打开 exports.main = function() { require("sdk/context-menu").Item({ label: "Open with Unvis.it", context: require("sdk/context-menu").SelectorContext("a[href]"),

我试图在一个url上创建一个上下文菜单,以使其在另一个选项卡中打开修改过的url。我做错了什么?我没有收到任何错误,但新选项卡也不会打开

exports.main = function() {
    require("sdk/context-menu").Item({
        label: "Open with Unvis.it",
        context:  require("sdk/context-menu").SelectorContext("a[href]"), 
        contentScript: 'self.on("click", function (node, data) {' +
                 'require("sdk/tabs").open("http://unvis.it/" + gContextMenu.linkURL);'+
                 '});',
        onMessage: function(msg){},
    });
};

为此,您必须在onMessage函数中打开新选项卡。 首先单击发送带有node.href值的postMessage,然后使用tabs.open和参数

为了便于理解,我使用了两个文件,main.js:

var cm=requiresdk/上下文菜单; var数据=requiresdk/self.data; cm.项目{ 标签:用Unvis.it打开, 上下文:cm.SelectorContexta[href], contentScriptFile:data.url'openWithUnvisIt.js', onMessage:functionhref{ 需要dk/tabs。openhttp://unvis.it/ +href; }, }; 以及“数据”文件夹中的openWithUnvisIt.js:

self.onclick,功能节点,数据{ self.postMessagenode.href; };
尝试使用contentScriptFile而不是contentScript:它使脚本比字符串串联更容易理解和更安全。