2011-06-27 44 views
56

Quiero hacer una extensión de cromo que ejecuta algunos scripts después de cargar una página, no estoy seguro de si tengo que implementar esta lógica en la página de fondo o puede estar en cualquier otro lugar , cualquier ayuda aquí será muy apreciada.Extensión de Chrome: hacer que funcione cada página carga

+0

por si acaso, se debe ejecutar la secuencia de comandos después de que se carga cualquier página en el navegador. – asheinfeld

+0

Entonces ... ¿hiciste esto o no? Estoy buscando una extensión para hacer esto :) –

+0

@ZloySmiertniy sí, solo busque scripts de contenido, también asegúrese de que en la opción run_at ponga document_end y también en las coincidencias: debe especificar en qué url se insertarán sus scripts . – asheinfeld

Respuesta

41

Si tiene que ejecutar en el onload caso de la página, lo que significa que el documento y todos sus activos han cargado, esto tiene que estar en una content script incorporado en cada página para la que desea realizar un seguimiento de onload.

+12

Sería mejor dejar que la secuencia de comandos de contenido se inyecte en "document_end" ver "run_at" en el content_script manifest: 'run_at:" document_end "' –

33

usted puede poner su guión en un contenido en secuencias de comandos, consulte

+0

Di la respuesta correcta a Matchu porque respondió 1 minuto antes: S si podría darlo a ambos lo haría ... GRACIAS! – asheinfeld

+7

@asheinfeld: le dio un +1 extra para compensarlo :) – Matchu

55

Desde un background script se puede escuchar el evento chrome.tabs.onUpdated y comprobar la propiedad changeInfo.status en la devolución de llamada. Puede ser cargando o completo. Si es completo, haga la acción.

Ejemplo:

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { 
    if (changeInfo.status == 'complete') { 

    // do your things 

    } 
}) 

Debido a esto probablemente va a disparar en cada implementación del tabulador, también se puede comprobar si la lengüeta es active en su homonymous attribute, así:

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { 
    if (changeInfo.status == 'complete' && tab.active) { 

    // do your things 

    } 
}) 
+0

¡Agradable! ¡Gracias! –

+2

'TypeError no detectado: no se puede leer la propiedad 'onUpdated' de undefined' – Green

+0

¿Qué? Esta respuesta es de hace 2 años y medio. Todo probablemente ha cambiado ahora. – fiatjaf

Cuestiones relacionadas