JavaScript-StepPitGuide
  • 封面
  • 前言
  • 基础知识
    • 基础知识
      • 变量声明
      • 变量类型和计算
      • 作用域
      • 基本数据类型
        • Undefined
        • Null
        • Boolean
        • Number
        • String
        • Symbol
      • 类型转换
    • 引用类型
      • Object类型
      • Array类型
        • 检测数组
        • 转换方法
        • 栈方法
        • 队列方法
        • 重排序方法
        • 操作方法
        • 位置方法
        • 迭代方法
        • 归并方法
      • Date类型
      • RexExp类型
      • Function类型
      • Set类型(ES6)
      • Map类型(ES6)
    • BOM
      • window对象
      • location对象
      • navigator对象
      • screen对象
      • history对象
    • DOM
      • DOM节点操作
      • DOM结构操作
    • 事件
      • 事件流
      • 事件注册与触发
      • 事件对象
      • 事件分类
    • 异步
      • Ajax
      • Promise
    • 正则表达式
    • 面向对象程序设计
      • 构造函数
      • 原型链
      • 继承
      • New
      • Object.create
    • 函数表达式与函数式编程
      • 递归
      • 闭包
      • this
      • 箭头函数
      • 高阶函数
      • 由函数构建函数
      • 纯度、不变性和更改政策
      • 基于流的编程
      • 无类编程
      • 函数基本应用
    • 语法规则
      • ESlint
  • 进阶知识
    • 算法应用
      • 基本排序算法
        • 冒泡排序
        • 选择排序
        • 插入排序
        • 希尔排序
        • 归并排序
        • 快速排序
    • 模块化
      • AMD
      • CommonJS
      • ES6模块化
    • 应用
      • Socket.io库
      • async+await异步调用
      • axios
    • 设计模式
    • 性能优化
    • 工具
      • 时间操作
    • 异常监控
    • 安全🔐
      • XSS
      • CSRF
    • 跨域
      • 跨域
      • 跨域方法
        • Hash
        • JSONP
        • CORS
        • XDomainRequest
由 GitBook 提供支持
在本页
  • 1、前端错误的分类
  • 2、错误的捕获方式
  • 即时运行错误捕获方式
  • 资源加载错误
  • 跨域资源加载错误
  • 3、错误监控

这有帮助吗?

  1. 进阶知识

异常监控

  • 前端错误的分类

  • 错误的捕获方式

  • 上报错误的基本原理

1、前端错误的分类

  • 即时运行错误:代码错误

  • 资源加载错误

2、错误的捕获方式

即时运行错误捕获方式

  1. try...catch

  2. window.onerror

资源加载错误

  1. object.onerror

  2. performance.getEntries

  3. Error事件捕获

  • 资源加载错误事件不会冒泡,只会在本身这个object报错事件进行响应

  • performace.getEntries()这个API获取所有资源的加载地址

  • Error事件捕获

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <script type="text/javascript">
      window.addEventListener('error',function (e) {
        console.log('捕获',e);
      }, true);
    </script>
    <script src="/js/index.js" charset="utf-8"></script>
  </body>
</html>

跨域资源加载错误

  1. 在script标签增加crossorigin属性(客户端错误)

  2. 设置JS资源响应头Access-Control-Allow-Origin:*(服务端做)

3、错误监控

  • 上报错误的基本原理

    • 使用Ajax通信进行上报

    • 利用Image对象上报

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <script type="text/javascript">
      window.addEventListener('error',function (e) {
        console.log('捕获',e);
      }, true);
    </script>
    <script src="/js/index.js" charset="utf-8"></script>
    <script type="text/javascript">
      let errors = 'imgerror';
      (new Image()).src = `http://www.kejiganhuo.com/test?error=${errors}`;
    </script>
  </body>
</html>
上一页时间操作下一页安全🔐

最后更新于4年前

这有帮助吗?