Quiero hacer una extensión de Chrome que ejecute algunos scripts después de que se cargue 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.
javascript
google-chrome
google-chrome-extension
albertosh
fuente
fuente
Respuestas:
Desde un script en segundo plano puede escuchar el
chrome.tabs.onUpdated
evento y verificar la propiedadchangeInfo.status
en la devolución de llamada. Puede estar cargando o completo . Si está completo , realice la acción.Ejemplo:
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) { if (changeInfo.status == 'complete') { // do your things } })
Debido a que esto probablemente se activará al completar cada pestaña, también puede verificar si la pestaña está
active
en su atributo homónimo , así:chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) { if (changeInfo.status == 'complete' && tab.active) { // do your things } })
fuente
Uncaught TypeError: Cannot read property 'onUpdated' of undefined
if (tab.url.startsWith("https://example.com") == false) return;
Si necesita ejecutarse en el
onload
evento de la página, lo que significa que el documento y todos sus activos se han cargado, esto debe estar en un script de contenido incrustado en cada página para la que desea realizar un seguimientoonload
.fuente
run_at: "document_end"
Puede poner su secuencia de comandos en una secuencia de comandos de contenido, consulte
fuente
Este código debería hacerlo:
manifest.json
{ "name": "Alert 'hello world!' on page opening", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "<all_urls>" ], "js": ["content.js"] } ] }
content.js
alert('Hello world!')
fuente
https://developer.chrome.com/extensions/content_scripts#matchAndGlob