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
-
当此事件发生时调用的函数。
listener
函数使用以下参数调用details
-
object
。有关导航事件的详细信息。details
具有以下属性tabId
-
integer
。发生导航的选项卡的 ID。 url
-
string
。给定框架正在导航到的 URL。 processId
可选 已弃用-
integer
。此值在现代浏览器中从未设置。它用于表示为该选项卡运行渲染器的进程的 ID。 frameId
-
integer
。发生导航的框架。0
表示导航发生在选项卡的顶级浏览上下文中,而不是嵌套的<iframe>
中。正值表示导航发生在嵌套的 iframe 中。
框架 ID 对给定的选项卡和进程是唯一的。
timeStamp
-
number
。发生错误的时间,以自纪元以来的毫秒数 为单位。 error
-
string
。错误代码。这是一个内部错误代码,不能保证在不同的浏览器之间保持相同或一致。
filter
可选-
object
。一个包含单个属性url
的对象,该属性是一个events.UrlFilter
对象的Array
。如果您包含此参数,则事件仅针对与数组中至少一个
UrlFilter
匹配的 URL 的转换触发。如果您省略此参数,则事件将针对所有转换触发。
浏览器兼容性
BCD 表格仅在浏览器中加载
示例
记录 onErrorOccurred
的目标 URL,如果目标 URL 的 hostname
包含 "example.com"
或以 "developer"
开头。
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
。