Подтвердить что ты не робот

Расширение Chrome: запустите загрузку каждой страницы

Я хочу сделать расширение chrome, которое выполняет некоторые скрипты после загрузки одной страницы, я не уверен, должен ли я реализовывать эту логику на исходной странице, или это может быть где угодно, любая помощь здесь будет принята с благодарностью.

4b9b3361

Ответ 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, см.