Firefox插件:在另一个选项卡中打开url
我试图在一个url上创建一个上下文菜单,以使其在另一个选项卡中打开修改过的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]"),
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:它使脚本比字符串串联更容易理解和更安全。