# 捕获404页面,并重定向页面

// 捕获404页面,并重定向
const isRunUrl = function (url) {
  return new Promise(function (resolve, reject) {
    // 测试链接连通性, 主要检测404错误
    // 由于AJAX通常无法区分404和跨域问题,所以只能用script 或者 link标签,link比script更容易捕获错误
    var dom = document.createElement('link');
    dom.href = url;
    dom.rel = 'stylesheet';
    document.head.appendChild(dom);
    dom.onload = function () {
      document.head.removeChild(dom);
      resolve();
    }
    dom.onerror = reject;
  });
}


isRunUrl("测试地址").then(
  (res) => {
    // 处理resolve的代码
    console.log("ok", data);;
  }, (err) => {
    // 处理reject的代码,重定向逻辑
    console.log("err", err);
  }
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27