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。