2013-10-04 30 views

risposta

33

Dichiarare uno script di contenuto nel file manifest con "run_at": "document_start" per farlo funzionare il prima possibile, ovvero subito dopo aver costruito la radice del documento (quando <head> non esiste ancora).

Per il tuo esempio molto specifico, potrebbe essere preferibile dichiarare uno stile di contenuto invece, simile agli script di contenuto, ma utilizzando la chiave "css" invece di "js".

Se si desidera eseguire uno script dinamicamente il prima possibile, chiamare chrome.tabs.executeScript quando viene attivato l'evento chrome.webNavigation.onCommitted.

+0

Speciali ringraziamenti per il riferimento a 'chrome.webNavigation.onCommitted', molto più pratico di' chrome.tabs.onUpdated'. – cprcrack

+0

@RobW, onComitted viene eseguito quando "* almeno una parte del documento è stata ricevuta dal server *". Come possiamo ottenere il momento prima di quello allora? Il momento giusto quando l'utente fa clic sulla barra degli indirizzi e fa clic sulla chiave [--eg quando ricarica la pagina o ne carica una nuova]. – Pacerier

+0

@RobW, Separatamente, il documento scrive "* Se una navigazione è stata attivata tramite Chrome Instant o Instant Pages, una pagina completamente caricata viene scambiata nella scheda corrente *". In tal caso, è ancora possibile eseguire uno script per sostituire l'oggetto 'window' della pagina web con il mio oggetto di vincita proxy proprio prima che qualsiasi codice di pagina Web possa persino essere eseguito? – Pacerier

Problemi correlati