Как запустить скрипт содержимого при изменении URL после загрузки содержимого DOM? - PullRequest
0 голосов
/ 23 апреля 2020

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

manifest. json

{
  "manifest_version": 2,
  "permissions": ["https://*.managebac.com/student/classes/*/assignments", "storage","activeTab","tabs", "webNavigation"],
  "background": {
    "persistent": false,
    "scripts": [
      "script/background.js"
    ]
  },
  "content_scripts": [
      {
        "matches": [
          "https://github.com/*/master/*"
        ],
        "run_at": "document_end",
        "js": ["script/highcharts.js", "script/grader.js"]
      }
    ]
}

background. js

chrome.tabs.onUpdated.addListener(
  function (tabId, changeInfo, tab) {
    // read changeInfo data and do something with it
    // like send the new url to contentscripts.js
    if (changeInfo.url) {
      if (changeInfo.url.match(/.*.managebac.com\/student\/classes\/.*\/assignments/)){
        chrome.tabs.executeScript({
          file: 'script/grader.js'
        });
      }
    }
  }
);

Я попытался в фоновом скрипте сделать changeInfo.status === "complete", но тогда он никогда не запускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...