5

Questo problema è iniziato con la versione 23 di Google Chrome. La mia app di Chrome apre una scheda per visualizzare l'interfaccia utente quando viene attivato l'evento avviato.Aprire un'app Chrome in una scheda

chrome.app.runtime.onLaunched.addListener(function() 
{ 
    chrome.tabs.create(
    { 
     url: "../../index.html" 
    }); 
}); 

Questo schema funzionava precedentemente alla versione 23 di Google Chrome. Ora ricevo la seguente eccezione durante l'esecuzione della mia app.

Error in event handler for 'app.runtime.onLaunched': Cannot call method 'create' of undefined TypeError: Cannot call method 'create' of undefined 

Dopo aver controllato l'oggetto chrome nei tool di sviluppo Noto che chrome.tabs non è definito.

So che non è necessario impostare esplicitamente un permesso "schede" nel mio manifest.json perché in base a http://developer.chrome.com/extensions/tabs.html i metodi di creazione, aggiornamento e rimozione non richiedono il permesso "schede".

Dopo aver tentato di aggiungere esplicitamente l'autorizzazione "schede" al file manifest.json, questo messaggio viene visualizzato su chrome: // chrome/extensions/per l'app.

There were warnings when trying to install this extension: 'tabs' is only allowed for extensions and legacy packaged apps, and this is a packaged app. 

se vado dal grafico data dal https://developers.google.com/chrome/web-store/docs/choosing e hanno scelto un'applicazione confezionato perché UI mia app non è piccola e io non ha intenzione di estendere interfaccia utente di Chrome e non posso fare uso di chrome.tabs allora come posso aprire l'interfaccia utente della mia app all'interno di una scheda nuova o esistente senza dover creare una finestra popup (che è molto fastidiosa e non facile da usare)?

+0

io non vedo c'è API 'chrome.app.runtime' per estensioni di Chrome, è disponibile solo per Chrome App. http://developer.chrome.com/apps/api_index.html –

+0

a destra, si tratta di un'app confezionata .. –

+0

Quindi non ci sono le API 'chrome.tabs' per l'app in pacchetto, penso. http://developer.chrome.com/apps/api_index.html –

risposta

8

Hai provato window.open() in chrome.app.runtime.onLaunched

+0

Posso confermare che ha funzionato per me: Ricordati di inserire il nome del file che vuoi aprire tra parentesi !!! –

+0

Questo non è supportato e dovrebbe essere evitato. https://code.google.com/p/chromium/issues/detail?id=252464 – oldergod

Problemi correlati