Откройте вкладку в Mozilla Add On SDK


Я разрабатываю дополнение Mozilla. Я пытаюсь открыть счет.

Согласно 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 5

1 ответ:

Скрипты содержимого не имеют доступа к "продвинутым" API, они могут просто взаимодействовать с расширением. Таким образом, ваш сценарий содержимого должен отправить сообщение в расширение, и расширение должно открыть вкладку. Вот так:

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

И в main.js:

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