filters

2019-02-20 15:51 更新

通過配置filters屬性,用戶可以過濾掉一些不需要捕獲的錯誤,比如Script error.

filters只能在JavasScript中配置:

if ("fundebug" in window) {
    fundebug.filters = [
    {
        message: /^Script error\.$/
    }]
}

配置規(guī)則

filters屬性有以下特點(diǎn):

  • 它是一個數(shù)組,數(shù)組中的元素為過濾規(guī)則,當(dāng)錯誤符合數(shù)組中任意一條過濾規(guī)則時,則會被過濾
  • 過濾規(guī)則是JavaScript對象,該對象的Key為錯誤的屬性名,Value為正則表達(dá)式(唯一的特例是"inexistence");
  • 當(dāng)錯誤的屬性匹配對應(yīng)正則表達(dá)式時,則會被過濾;
  • 當(dāng)過濾規(guī)則的屬性值為"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:配置多條過濾規(guī)則

fundebug.filters = [
{
    message: /^Script error\.$/
},
{
    req:
    {
        method: /^GET$/
    },
    res:
    {
        status: /^401$/
    }
}]

不同類型的錯誤的屬性略有不同,具體可以查看JavaScript執(zhí)行錯誤、資源加載錯誤以及HTTP請求錯誤

常見錯誤過濾

Script error.

fundebug.filters = [
{
    message: /^Script error\.$/
}]

WeixinJSBridge is not defined

fundebug.filters = [
    {
        message: /WeixinJSBridge is not defined/
    }
];


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號