2012-03-29 5 views
5

Sto sviluppando un Mozilla Add on. Sto cercando di aprire una scheda.Aprire una scheda in Mozilla Add On SDK

Secondo https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/packages/addon-kit/docs/tabs.html è fatto usando

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

Ma non funziona sul mio caso.

Lo sto facendo nello script di contenuto. Ho una pagina chiamata popup.html e un contenuto chiamato popup_script.js.

Il codice viene raggiunto perché il messaggio è registrato.

Qualche idea?

risposta

6

Gli script di contenuto non hanno accesso alle API "avanzate", possono semplicemente comunicare con l'estensione. Quindi lo script di contenuto dovrebbe send a message to the extension e l'estensione dovrebbe aprire la scheda allora. Come questo:

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

E in main.js:

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

Grazie. Ci proverò domani. Voglio aprire una scheda per accedere a Facebook e tornare indietro. È possibile? – Tony

+0

È possibile rilevare quando la scheda è chiusa ('tab.on (" close ", function() {...})') se è questo che intendi ... –

Problemi correlati