Я хочу сделать расширение chrome, которое выполняет некоторые скрипты после загрузки одной страницы, я не уверен, должен ли я реализовывать эту логику на исходной странице, или это может быть где угодно, любая помощь здесь будет принята с благодарностью.
Расширение Chrome: запустите загрузку каждой страницы
Ответ 1
Если ему нужно запустить в onload
событие страницы, что означает, что документ и все его активы загружены, это должно быть в контенте script, встроенный в каждую страницу, для которой вы хотите отслеживать onload
.
Ответ 2
Из background script вы можете прослушать chrome.tabs.onUpdated
и проверьте свойство changeInfo.status
на обратном вызове. Он может быть загружен или завершен. Если оно завершено, выполните действие.
Пример:
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
// do your things
}
})
Поскольку это, вероятно, будет срабатывать при каждом завершении табуляции, вы также можете проверить, есть ли вкладка active
в ее одноименном атрибуте, например
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete' && tab.active) {
// do your things
}
})
Ответ 3
Вы можете поместить ваш script в контент script, см.