在Mozilla Add On SDK中打开一个选项卡

时间:2012-03-29 17:42:55

标签: javascript firefox-addon firefox-addon-sdk

我正在开发一个Mozilla Add。我正在尝试打开一个标签。

根据https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/packages/addon-kit/docs/tabs.html,使用

完成
console.log("before tab");
var tabs = require("tabs");
tabs.open("http://www.example.com");

但它不能解决我的问题。

我在内容脚本中这样做。 我有一个名为popup.html的页面和一个名为popup_script.js的内容。

已到达代码,因为已记录消息。

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

内容脚本无权访问“高级”API,它们只能与扩展程序通信。因此,您的内容脚本应send a message to the extension,然后扩展程序应打开标签。像这样:

self.port.emit("openTab", "http://www.example.com");

main.js

panel.port.on("openTab", function(url)
{
  var tabs = require("tabs");
  tabs.open(url);
});