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



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

604   4  

4 ответов:

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

С фоновый скрипт вы можете слушать 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

  }
})

вы можете поместить свой скрипт в content-script, см.

этот код должен сделать это:

манифест.json

   {
      "name": "Alert 'hello world!' on page opening",
      "version": "1.0",
      "manifest_version": 2,
      "content_scripts": [
        {
          "matches": [
            "<all_urls>"
          ],
          "js": ["content.js"]
        }
      ]
    }

содержание.js

alert('Hello world!')

Comments

    Ничего не найдено.