参考我以前的问题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"
]
}