Register a content script in the manifest file a "run_at": "document_idle"
(che è il default) e inserire il codice nel file di script contenuti . Quindi lo script verrà eseguito quando la pagina è pronta.
Se si desidera rilevare dalla pagina di sfondo se una pagina è stata caricata completamente, utilizzare l'evento chrome.webNavigation.onCompleted
e fare ciò che si desidera, ad esempio chiamando chrome.tabs.executeScript
per eseguire uno script di contenuto. Questo metodo potrebbe essere utile rispetto al metodo precedente se l'elenco di URL è dinamico o se i pattern URL non possono essere descritti utilizzando la sintassi match pattern.
chrome.webNavigation.onCompleted.addListener(function(details) {
chrome.tabs.executeScript(details.tabId, {
code: ' if (document.body.innerText.indexOf("Cat") !=-1) {' +
' alert("Cat not found!");' +
' }'
});
}, {
url: [{
// Runs on example.com, example.net, but also example.foo.com
hostContains: '.example.'
}],
});
I webNavigation
e di accoglienza delle autorizzazioni devono essere impostato in manifest.json
, ad esempio:
{
"name": "Test",
"version": "1.0",
"background": { "scripts": ["background.js"] },
"permissions": [ "webNavigation", "*://*/*" ],
"manifest_version": 2
}
fonte
2012-03-25 17:13:38
Grazie Rob W, ma ho un sacco di codice dopo le istruzioni di controllo, non riesco a scriverlo dopo "codice: '" posso chiamare una funzione? – JustMe
@ user1291538 Puoi metterlo in un file separato all'interno dell'estensione, e usare 'file: 'nameoffile.js'' invece di'' code ':' ... ''- Vedi anche la [documentazione collegata] (http: //code.google.com/chrome/extensions/tabs.html#method-executeScript). –
@Xan, è "manifest_version": 2. Non 1. – Dudi