Javascript Chrome扩展:在页面加载之前注入JS

Javascript Chrome扩展:在页面加载之前注入JS,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,是否可以在页面加载之前插入JS,或者是否需要使用内容脚本和方式来完成文档 例如,有没有一种更快的方法来执行JS,使页面一打开就变红?在清单文件中声明一个内容脚本,并使用“run\u at”:“document\u start”使其尽快运行,即在构建文档根目录之后(当还不存在时) 对于非常具体的示例,最好声明一个内容样式,类似于内容脚本,但使用“css”键而不是“js” 如果您希望尽快动态运行脚本,则在触发事件时调用。特别感谢您对chrome.webNavigation.onCommitted的引

是否可以在页面加载之前插入JS,或者是否需要使用内容脚本和方式来完成文档


例如,有没有一种更快的方法来执行JS,使页面一打开就变红?

在清单文件中声明一个内容脚本,并使用
“run\u at”:“document\u start”
使其尽快运行,即在构建文档根目录之后(当
还不存在时)

对于非常具体的示例,最好声明一个内容样式,类似于内容脚本,但使用
“css”
键而不是
“js”


如果您希望尽快动态运行脚本,则在触发事件时调用。

特别感谢您对
chrome.webNavigation.onCommitted
的引用,它比
chrome.tabs.onUpdate
@RobW更方便,onCommitted在“至少从服务器收到部分文档”时运行。那么,我们如何获得这之前的时刻呢?当用户点击地址栏并点击按键时,[--例如,当他正在重新加载页面或加载新页面时].@RobW,另外,文档写道“如果通过Chrome Instant或Instant Pages触发导航,则完全加载的页面将切换到当前选项卡”。在这种情况下,是否仍然可以在任何网页代码运行之前运行脚本,用我自己的代理win对象替换网页的
窗口
对象?顺便说一句,manifest的document_start contentscript将在
chrome.webNavigation.onCommitted
之前运行,但它无法访问bg可用的chrome功能。对于bg,
chrome.webNavigation.onCommitted
仍然是最早的方式。使用executeScript API,无法保证脚本能够及时运行。如果这很重要,请在manifest.json中声明一个脚本