webNavigation.onErrorOccurred
当发生错误且导航被中止时触发。这可能是由于发生了网络错误,或者用户中止了导航。
语法
browser.webNavigation.onErrorOccurred.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onErrorOccurred.removeListener(listener)
browser.webNavigation.onErrorOccurred.hasListener(listener)
事件有三个函数
addListener(listener),addListener(listener, filter)-
向此事件添加监听器。
removeListener(listener)-
停止监听此事件。
listener参数是要移除的监听器。 hasListener(listener)-
检查
listener是否已为此事件注册。如果正在监听,则返回true,否则返回false。
addListener 语法
参数
监听器-
当此事件发生时调用的函数。
listener函数将使用以下参数进行调用details-
object。有关导航事件的详细信息。details具有以下属性tabId-
integer。发生导航的标签页 ID。 url-
string。给定框架正在导航到的 URL。 processId可选 已弃用-
integer。在现代浏览器中,此值永远不会设置。它过去用于表示此标签页的渲染器进程的 ID。 frameId-
integer。发生导航的框架。0表示导航发生在标签页的顶级浏览上下文中,而不是嵌套的<iframe>中。正值表示导航发生在嵌套的 iframe 中。
对于给定的标签页和进程,框架 ID 是唯一的。
parentFrameId-
integer。此框架父级的ID。如果这是顶层框架,则设置为-1。 timeStamp-
number。发生错误的时间,以自纪元以来的 毫秒为单位。 error-
string。错误代码。这是一个内部错误代码,不保证在不同浏览器中保持不变或一致。
filter可选-
object。一个对象,包含单个属性url,它是一个events.UrlFilter对象的Array。如果包含此参数,则仅当导航到的 URL 至少匹配数组中的一个
UrlFilter时,事件才会触发。如果省略此参数,则事件会触发所有导航。
示例
如果目标 URL 的 hostname 包含 "example.com" 或以 "developer" 开头,则记录 onErrorOccurred 的目标 URL。
const filter = {
url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};
function logOnErrorOccurred(details) {
console.log(`onErrorOccurred: ${details.url}`);
console.log(details.error);
}
browser.webNavigation.onErrorOccurred.addListener(logOnErrorOccurred, filter);
浏览器兼容性
加载中…
注意:此API基于Chromium的chrome.webNavigation API。本文档源自Chromium代码中的web_navigation.json。