Firefox插件:在另一个标签页面中打开一个网址

时间:2014-10-15 22:36:45

标签: url firefox tabs

我正在尝试在网址上创建一个上下文菜单,以便在另一个标签(http://unvis.it/www.example.com)中修改该网址。我究竟做错了什么?我没有收到任何错误,但新标签也不会打开。

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){},
    });
};

1 个答案:

答案 0 :(得分:0)

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

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

var cm = require("sdk/context-menu");
var data = require("sdk/self").data;
cm.Item({
    label: "Open with Unvis.it",
    context:  cm.SelectorContext("a[href]"), 
    contentScriptFile: data.url('openWithUnvisIt.js'),
    onMessage: function(href){
        require("sdk/tabs").open("http://unvis.it/" + href);
    },
});

'data'文件夹中的openWithUnvisIt.js:

self.on("click", function (node, data) {
  self.postMessage(node.href);
});
相关问题