Register a content script in the manifest file na "run_at": "document_idle"
(który jest domyślny) i umieścić swój kod w pliku skryptu zawartości . Następnie skrypt zostanie uruchomiony po przygotowaniu strony.
Jeśli chcesz wykryć na stronie w tle, czy strona jest całkowicie załadowana, użyj zdarzenia chrome.webNavigation.onCompleted
i wykonaj, co chcesz, na przykład wywołanie chrome.tabs.executeScript
, aby wykonać skrypt zawartości. Ta metoda może być przydatna w stosunku do poprzedniej metody, jeśli lista adresów URL jest dynamiczna lub jeśli nie można opisać wzorców adresów URL za pomocą składni 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.'
}],
});
W webNavigation
i gospodarza uprawnienia muszą być ustawione w manifest.json
, np:
{
"name": "Test",
"version": "1.0",
"background": { "scripts": ["background.js"] },
"permissions": [ "webNavigation", "*://*/*" ],
"manifest_version": 2
}
Dzięki Rob W, ale mam dużo kodu po sprawozdaniach kontrolnych, nie mogę napisać to po "code:" "Czy mogę wywołać funkcję? – JustMe
@ user1291538 Możesz umieścić go w osobnym pliku w rozszerzeniu i użyć 'file: 'nameoffile.js'' zamiast'' code ':' ... ''- Zobacz także [dokumentację powiązaną] (http: //code.google.com/chrome/extensions/tabs.html#method-executeScript). –
@Xan, to "manifest_version": 2. Nie 1. – Dudi