2011-03-23 17 views

Respuesta

14

Puede que sea así:

chrome.tabs.getAllInWindow(null, function(tabs){ 
    for (var i = 0; i < tabs.length; i++) { 
    chrome.tabs.sendRequest(tabs[i].id, { action: "xxx" });       
    } 
}); 

Después de eso para cuidar de su artículo, si se puede hacer de esta manera:

document.getElementById('item') 

No se olvide que no se puede manipule el HTML usando la "página de fondo" Entonces el primer recorte de código es para la página de fondo, y el segundo tiene que estar en un script de contenido;)

+0

Ahhh se me adelantó: pág –

+0

Es posible que desee añadir a comprobar si el elemento se puede enviar document.getElementById ('item') = null y guardar ese! en algún lugar y recuperarlo para determinar si el elemento existe en la página. –

+0

Lo siento amigo ... ^^ – Sindar

45

Parece que este método ha sido desaprobado a favor de chrome.tabs.query:

http://developer.chrome.com/extensions/tabs.html#method-query

Así que ahora que te gustaría hacer:

chrome.tabs.query({}, function(tabs) { /* blah */ }); 

Pasar un parámetro vacío queryInfo devolvería todas las fichas.

+2

pero, ¿cómo se itera esto sobre las pestañas? ¿Hay un método de longitud para 'pestañas'? La mayoría de los métodos de API tienen una sola pestaña o propiedad de pestaña, por lo que necesitaría indexarlos con una variable como 'pestañas [0] ... pestañas [n]'. Cómo obtener n? – jiggunjer

+0

@jiggunjer, n = tabs.length, pestañas - es una matriz –

+0

@Golden, ¿Qué sucede si coloca la primera arg como 'null' en lugar de' {} '? – Pacerier

0

utilizo éste

chrome.tabs.getAllInWindow(null, function(tabs) { 
     $.each(tabs, function() { 
     // u can use 'this.id' to work with evey tab 
     }); 
}); 
Cuestiones relacionadas