filters
通过配置filters属性,用户可以过滤掉一些不需要捕获的错误,比如Script error.
filters只能在JavasScript中配置:
if ("fundebug" in window) {
fundebug.filters = [
{
message: /^Script error\.$/
}]
}
配置规则
filters属性有以下特点:
- 它是一个数组,数组中的元素为过滤规则,当错误符合数组中任意一条过滤规则时,则会被过滤
- 过滤规则是JavaScript对象,该对象的Key为错误的属性名,Value为正则表达式(唯一的特例是"inexistence");
- 当错误的属性匹配对应正则表达式时,则会被过滤;
- 当过滤规则的属性值为"inexistence"时,则会过滤某个属性不存在的错误;
示例
示例1:过滤name为ReferenceError的错误
fundebug.filters = [
{
name: /^ReferenceError$/
}]
示例2:过滤name为ReferenceError,且message中含aler的错误
fundebug.filters = [
{
name: /^ReferenceError$/,
message: /aler/
}]
示例3:过滤method为GET,且status为401的错误
fundebug.filters = [
{
req:
{
method: /^GET$/
},
res:
{
status: /^401$/
}
}]
示例4:过滤特定域名的资源加载错误
fundebug.filters = [
{
target:
{
src: /example.com/
}
}]
示例5:过滤status不存在的图片加载错误
fundebug.filters = [
{
target:
{
tagName: /^IMG$/,
status: "inexistence"
}
}]
示例6:配置多条过滤规则
fundebug.filters = [
{
message: /^Script error\.$/
},
{
req:
{
method: /^GET$/
},
res:
{
status: /^401$/
}
}]
不同类型的错误的属性略有不同,具体可以查看JavaScript执行错误、资源加载错误以及HTTP请求错误
常见错误过滤
Script error.
fundebug.filters = [
{
message: /^Script error\.$/
}]
WeixinJSBridge is not defined
fundebug.filters = [
{
message: /WeixinJSBridge is not defined/
}
];