2012-03-29 11 views
5

Pracuję nad dodaniem Mozilli. Próbuję otworzyć kartę.Otwórz zakładkę w Mozilli Dodaj na SDK

Według https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/packages/addon-kit/docs/tabs.html to odbywa się za pomocą

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

Ale to nie działa w moim przypadku.

Robię to w skrypcie treści. Mam stronę o nazwie popup.html i treść o nazwie popup_script.js.

Kod zostanie osiągnięty, ponieważ wiadomość jest zarejestrowana.

Każdy pomysł?

Odpowiedz

6

Skrypty treści nie mają dostępu do "zaawansowanych" interfejsów API, mogą jedynie komunikować się z rozszerzeniem. Twój skrypt treści powinien więc send a message to the extension, a rozszerzenie powinno otworzyć kartę. Tak:

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

I main.js:

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

Dzięki. Spróbuję tego jutro. Chcę otworzyć zakładkę, aby zalogować się na Facebook i wrócić. Czy to jest możliwe? – Tony

+0

Możesz wykryć, kiedy zakładka jest zamknięta ('tab.on (" zamknij ", function() {...})') jeśli o to ci chodzi ... –

Powiązane problemy