网站在联通网络下无法打开

现象:网页在其它网络下可以正常打开,但是在联通网络下的部分浏览器(如飞书中内嵌的浏览器)中,网页无法打开。后来经过多次调查,发现其实不是打不开,而是过了很久(约两分钟以后)才能打开。

本来一直以为是联通网络下访问不了网址,所以浪费了比较多的时间。

在 PC 上是一直可以打开的,只是会有一个报错:GET https://appx/web-view.min.js net::ERR_NAME_NOT_RESOLVED

代码如下:

<script src="https://appx/web-view.min.js"></script>
  

这个 js 文件是用来在淘宝小程序中通过 WebView 打开时,调用淘宝 API 时使用的,在通过别的浏览器打开时是不需要这个文件的。

首先采用排除法,先将这段代码注释掉,再测试下是否可以通过联通网络打开。结果是很快就打开了。

为了保持在淘宝小程序中可以正常使用,于是加了一个判断,只在淘宝小程序中加载这个 js 文件。

<script>
    if (/aliapp\(tb|taobao/i.test(navigator.userAgent)) {
    document.write('<script src="https://appx/web-view.min.js"><\/script>');
    }
</script>
  

上面的这个 userAgent 的判断虽然不是很完善,但也基本可以满足需求了。