参考上一个问题dotimes
的答案。简而言之:当导航url
中发生错误(例如DNS查找错误)时,导航到webNavigation.onDOMContentLoaded
事件的about:neterror
属性中可以使用选项卡导航到的URL显示的错误页面,但显示的实际 URL(即webNavigation.onDOMContentLoaded
URL)无法通过其他方式获得。
我想按照答案的方法获取错误页面网址。我编写了这个示例代码,我在浏览器中收到错误页面,但是当我使用var filter = {
url:
[
{hostContains: "pagedoesnotexist.com"}
]
}
function logOnDOMContentLoaded(details) {
console.log("onDOMContentLoaded: " + details.url);
}
browser.webNavigation.onDOMContentLoaded.addListener(logOnDOMContentLoaded, filter);
获取错误的实际URL时,代码根本不返回任何内容。请注意,如果没有错误,代码将返回正确的URL。
这是我的示例( test.js ):
{
"manifest_version": 2,
"name": "test
"version": "1.0",
"background": {
"scripts": ["test.js"]
},
"permissions": [
"<all_urls>",
"activeTab",
"tabs",
"storage",
"webRequest",
"webNavigation"
]
}
并且 manifest.json
set /a
答案 0 :(得分:0)
您的代码无法按您的方式运行,因为您要查找的网址不包含 public static object ToCsvField(this object text)
{
var textSerialized = TypeSerializer.SerializeToString(text).StripQuotes();
return textSerialized == null || !CsvWriter.HasAnyEscapeChars(textSerialized)
? textSerialized
: string.Concat
(
CsvConfig.ItemDelimiterString,
textSerialized.Replace(CsvConfig.ItemDelimiterString, CsvConfig.EscapedItemDelimiterString),
CsvConfig.ItemDelimiterString
);
}
作为主机的一部分。发生错误的URL是query的一部分,而不是主机。
不幸的是,使用events.UrlFilter键pagedoesnotexist.com
似乎有错误(我仍在调查我看到的行为)。我发现您的代码有以下修改才有效:
queryContains