參考我以前的問題here的答案。簡要說明:當導航webRequest
(例如,DNS查找錯誤)中發生錯誤時,導航到顯示的錯誤頁面的事件的url
屬性中可以使用標籤導航到的URL,但顯示的實際 URL顯示(即about:neterror
URL)不能通過其他方式獲得。webNavigation.onDOMContentLoaded URL過濾器不匹配DNS錯誤URL
我想跟隨答案獲取錯誤頁面URL的方法。我編寫了這個示例代碼,我在瀏覽器中收到一個錯誤頁面,但是當我使用webNavigation.onDOMContentLoaded
來獲取錯誤的實際URL時,代碼完全沒有返回。請注意,如果沒有錯誤,代碼將返回正確的URL。
這是我的例子(test.js):
var filter = {
url:
[
{hostContains: "pagedoesnotexist.com"}
]
}
function logOnDOMContentLoaded(details) {
console.log("onDOMContentLoaded: " + details.url);
}
browser.webNavigation.onDOMContentLoaded.addListener(logOnDOMContentLoaded, filter);
而且,的manifest.json
{
"manifest_version": 2,
"name": "test
"version": "1.0",
"background": {
"scripts": ["test.js"]
},
"permissions": [
"<all_urls>",
"activeTab",
"tabs",
"storage",
"webRequest",
"webNavigation"
]
}