Je veux créer une extension chrome qui exécute certains scripts après le chargement d'une page, je ne sais pas si je dois implémenter cette logique sur la page d'arrière-plan ou cela peut être n'importe où ailleurs, toute aide ici sera grandement appréciée.
91
Réponses:
À partir d'un script d'arrière - plan, vous pouvez écouter l'
chrome.tabs.onUpdated
événement et vérifier la propriétéchangeInfo.status
sur le rappel. Il peut être en cours de chargement ou complet . S'il est terminé , effectuez l'action.Exemple:
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) { if (changeInfo.status == 'complete') { // do your things } })
Comme cela se déclenchera probablement à chaque achèvement d'onglet, vous pouvez également vérifier si l'onglet est
active
sur son attribut homonyme , comme ceci:chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) { if (changeInfo.status == 'complete' && tab.active) { // do your things } })
la source
Uncaught TypeError: Cannot read property 'onUpdated' of undefined
if (tab.url.startsWith("https://example.com") == false) return;
S'il doit s'exécuter sur l'
onload
événement de la page, ce qui signifie que le document et tous ses actifs ont été chargés, cela doit être dans un script de contenu intégré dans chaque page dont vous souhaitez effectuer le suivionload
.la source
run_at: "document_end"
Vous pouvez mettre votre script dans un script de contenu, voir
la source
Ce code devrait le faire:
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!')
la source
https://developer.chrome.com/extensions/content_scripts#matchAndGlob