源码解析-url状态检测神器ping-url


前言

ping-url是我最近开源的一个小工具,这篇文章也是专门写它设计理念的科普文。
为什么会做这个ping-url开源工具呢?
起因是:本小哥在某天接到一个特殊的需求,要用前端的方式判断任意一个url,是否可以正常访问
这么简短的需求,通常背后都有个大坑??

先捊下思路,要实现这个功能,必须具备以下2点:

  • ??正常发起url请求
  • ??监听请求状态

有了思路,就开始撸起袖子加油干!

一、判断url是否可访问

由于浏览器的安全机制——同源策略的存在,要实现任意这个要求确实有点难。

同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。

所以,为了实现任意url可以正常访问,第一个要解决的问题就是:跨域

1.1 解决同源限制

前端老鸟很快就会联想到JSONP。其原理其实是利用script可跨源访问的特性。
依据这个,可以做个拓展,找出所有可跨源访问的html标签: