2012-08-11 17 views
8

C'è un modo per recuperare tutte le schede aperte e ordinarle in una matrice in Chrome? Quindi, se Gmail e YouTube fossero aperti, ci sarebbero due voci nell'array intitolato "gmail.com" e "youtube.com".Recupero quali schede sono aperte in Chrome?

risposta

9

Sì, ecco come si può fare questo:

Nota: questo richiede l'autorizzazione "schede" da specificare nel file manifest.

chrome.windows.getAll({populate:true}, getAllOpenWindows); 

function getAllOpenWindows(winData) { 

    var tabs = []; 
    for (var i in winData) { 
    if (winData[i].focused === true) { 
     var winTabs = winData[i].tabs; 
     var totTabs = winTabs.length; 
     for (var j=0; j<totTabs;j++) { 
      tabs.push(winTabs[j].url); 
     } 
    } 
    } 
    console.log(tabs); 
} 

In questo esempio sto semplicemente aggiungendo scheda URL, lei ha chiesto in un array ma ogni oggetto "scheda" contiene molte più informazioni. Url sarà l'URL completo che è possibile applicare alcune espressioni regolari per estrarre i nomi di dominio dall'URL.

+1

Come si può specificare l'autorizzazione "schede" nel file manifest? Cosa devo scrivere nel file manifest per abilitare questa opzione? –

+0

'chrome.windows' non è definito ... cosa si fa in questo caso? –

3

A meno che non si stia creando un plug-in, non è un modo che conosco per recuperare tutti i nomi delle schede aperte, soprattutto se le schede contengono contenuti da domini separati. Se tu fossi in grado di fare una cosa del genere, potrebbe essere un bel problema di sicurezza!

è possibile controllare la documentazione Chrome qui: http://developer.chrome.com/extensions/devguide.html

+0

Sto costruendo un plug-in Chrome. – Ray

+0

È una cattiva notizia dal momento che sto provando a migrare manualmente tutte le schede da Chrome a Firefox (l'altra direzione è semplice dato che posso fare in modo che Firefox esegua qualsiasi script su chrome: // level). – lilydjwg

Problemi correlati