尽管使用了““ run_at”:“ document_start”,但通过Chrome-Extension注入的JavaScript在启动时并未执行

时间:2019-07-05 19:57:29

标签: javascript google-chrome google-chrome-extension

我目前正在学习有关JavaScript和Chrome扩展程序的一些知识,并希望创建一个Chrome扩展程序,以便在页面的.js代码开始之前注入JavaScript代码。

我正在将Python和Selenium与所有最新版本的Chrome-Driver配合使用。

我正在遵循该网站上的教程:https://intoli.com/blog/javascript-injection/#general-methods

TLDR:

manifest.json

{
  "manifest_version": 2,
  "name": "JavaScript Injection Test Extension",
  "version": "1.0.0",
  "applications": {
    "gecko": {
      "id": "javascript-injection@intoli.com"
    }
  },
  "content_scripts": [
    {
      "matches": ["*://*/*"],
      "js": ["injected-javascript.js"],
      "run_at": "document_start"
    }
  ]
}

injected-javascript.js

((time) => {
  const handleDocumentLoaded = () => {
    document.getElementById("injected-time").innerHTML = time;
  };
  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", handleDocumentLoaded);
  } else {
    handleDocumentLoaded();
  }
})(Date.now());

在该教程中,还提供了一个测试页:https://intoli.com/blog/javascript-injection/test-page.html

注入代码后,将显示“测试页”。 所以我知道我的代码被注入了,但是它总是在页面加载后(页面.js被加载) Screenshot

感谢您的时间!

0 个答案:

没有答案