webNavigation.onDOMContentLoaded
在页面中触发 DOMContentLoaded 事件时触发。此时文档已加载并解析,DOM 已完全构建,但图像、样式表和子帧等链接资源可能尚未加载。
语法
js
browser.webNavigation.onDOMContentLoaded.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onDOMContentLoaded.removeListener(listener)
browser.webNavigation.onDOMContentLoaded.hasListener(listener)
事件有三个函数
addListener(listener)-
向此事件添加监听器。
removeListener(listener)-
停止监听此事件。
listener参数是要移除的监听器。 hasListener(listener)-
检查
listener是否已为此事件注册。如果正在监听,则返回true,否则返回false。
addListener 语法
参数
额外对象
details
tabId-
integer。发生导航的标签页的 ID。 url-
string。给定帧已导航到的 URL。 processId可选 已弃用-
integer。此值在现代浏览器中未设置。当设置时,它代表运行此选项卡渲染器的进程ID。 frameId-
integer。发生导航的帧。0表示导航发生在标签页的顶级浏览上下文中,而不是嵌套的<iframe>中。正值表示导航发生在嵌套的 iframe 中。帧 ID 在给定标签页和进程中是唯一的。 parentFrameId-
integer。此框架父级的ID。如果这是顶层框架,则设置为-1。 timeStamp-
number。DOMContentLoaded触发的时间,以 自纪元以来的毫秒数 为单位。
示例
记录 onDOMContentLoaded 的目标 URL,前提是目标 URL 的主机名包含 "example.com" 或以 "developer" 开头。
js
const filter = {
url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};
function logOnDOMContentLoaded(details) {
console.log(`onDOMContentLoaded: ${details.url}`);
}
browser.webNavigation.onDOMContentLoaded.addListener(
logOnDOMContentLoaded,
filter,
);
浏览器兼容性
加载中…
注意:此API基于Chromium的chrome.webNavigation API。本文档源自Chromium代码中的web_navigation.json。