Ответ 1
Зарегистрируйте скрипт содержимого в файле манифеста в "run_at": "document_idle"
(который по умолчанию) и поместите ваш код в файл сценария содержимого. Затем скрипт будет запущен, когда страница будет готова.
Если вы хотите, чтобы обнаружить от фона страницы полностью ли загружена страница, используйте chrome.webNavigation.onCompleted
событие и делать все, что вы хотите, например, вызов chrome.tabs.executeScript
для выполнения сценария контента. Этот метод может быть полезен по сравнению с предыдущим методом, если список URL-адресов является динамическим или если шаблоны URL-адресов не могут быть описаны с использованием синтаксиса шаблона соответствия.
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.'
}],
});
Разрешения webNavigation
и хоста должны быть установлены в manifest.json
, например:
{
"name": "Test",
"version": "1.0",
"background": { "scripts": ["background.js"] },
"permissions": [ "webNavigation", "*://*/*" ],
"manifest_version": 2
}