javascript - 如何在其他js文件之前运行chrome js片段?

标签 javascript google-chrome google-chrome-extension

  1. 创建如下所示的 chrome 代码片段: window.my_property = "my_property";
  2. 打开任意网站
  3. 运行代码片段

Example

我希望我的代码片段在网站上的其他 js 脚本之前运行。是否可以?提前致谢。

最佳答案

可以使用 Chrome 扩展程序。

您可以编写一个扩展(如何做到这一点超出了答案的范围 - 请参阅文档中的一些指南)来注入(inject) Content Script使用 "run_at": "document_start" 配置并匹配适合您想要将其注入(inject)的页面的模式。

然后,您的代码在页面加载之前执行 - 此时它基本上仅包含 document 节点。如果您需要操作节点,那么您就不走运了 - 某些脚本可能会在节点进入树之前执行。如果您只想执行类似上面的操作(修改 window 对象),您就可以这样做。

但是,由于 isolated world principle,您仍然需要使其变得更复杂一些。 。您需要use a technique to inject your code into the page .


通过使用像 Tampermonkey 这样的用户脚本引擎,您可以更轻松地方式做到这一点。 。同样,您需要类似的东西

// @run-at document-start

如何编写用户脚本再次超出了本答案的范围。

关于javascript - 如何在其他js文件之前运行chrome js片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30519063/

相关文章:

css - 在 chrome 中设置 css constant() 或 env() 变量以进行调试

调试输出上的 Android net::ERR_CACHE_MISS

javascript - 如何获得一致的数字排序结果?

javascript - 从Javascript中的选定区域获取元素

javascript - 使用 JQuery 动态检查是否已检查多组单选按钮

JavaScript Promise 跳过了 for 循环并立即解决

javascript - sails.js 中的某些 URL 可以免除 CSRF 吗?

javascript - 如何使用 JavaScript 的 hasClass() 来定位元素的子元素?

javascript - 如何从 Google Chrome 扩展程序观察选项卡的变化?

javascript - 无法与我的 chrome 扩展共享我的屏幕