如果allFrames
是true
,那么“文档”仅指顶级文档。
否则,它引用每个匹配框架的文档(例如顶级,iframe)。
run_at
您可以在内容脚本文档中找到更多信息:
run_at string
选修的。控制何时js
注入文件。可以是“document_start”、“document_end”或“document_idle”。默认为“document_idle”。
在 "document_start" 的情况下,文件是在来自 的任何文件之后注入的css
,但在构造任何其他 DOM 或运行任何其他脚本之前。
在“document_end”的情况下,文件在 DOM 完成后立即注入,但在图像和框架等子资源加载之前。
window.onload
在“document_idle”的情况下,浏览器选择一个时间在“document_end”之间和事件触发后立即注入脚本。注入的确切时刻取决于文档的复杂程度和加载时间,并针对页面加载速度进行了优化。
注意:使用“document_idle”,内容脚本可能不一定会收到window.onload
事件,因为它们可能会在它已经触发后运行。在大多数情况下,对于在“document_idle”运行的内容脚本来说,监听onload
事件是不必要的,因为它们保证在 DOM 完成后运行。如果您的脚本确实需要在 之后运行,您可以使用该属性window.onload
检查是否已触发 onload 。document.readyState
PS。属性名称为chrome.tabs.executeScript
( runAt
, allFrames
) 的驼峰式命名法,但在清单文件 ( run_at
, all_frames
) 中使用下划线拼写。