2012-03-29 11 views
5

Estoy desarrollando un complemento de Mozilla. Estoy tratando de abrir una pestaña.Abra una pestaña en Mozilla Add On SDK

Según https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/packages/addon-kit/docs/tabs.html que se realiza mediante

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

Pero no está trabajando en mi caso.

Lo estoy haciendo en el script de contenido. Tengo una página llamada popup.html y un contenido llamado popup_script.js.

Se llega al código porque el mensaje se registra.

¿Alguna idea?

Respuesta

6

Los scripts de contenido no tienen acceso a las API "avanzadas", simplemente pueden comunicarse con la extensión. Entonces su script de contenido debería send a message to the extension y la extensión debería abrir la pestaña. De esta manera:

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

Y en main.js:

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

Gracias. Lo intentaré mañana. Quiero abrir una pestaña para iniciar sesión en Facebook y volver. ¿Es eso posible? – Tony

+0

Puede detectar cuándo se cierra la pestaña ('tab.on (" cerrar ", función() {...})') si eso es lo que quiere decir ... –

Cuestiones relacionadas