关于断网判断这件小事

2020-02-13  本文已影响0人  leeleeleelalala

呱唧呱唧

起因是我们要在前台做一个断网提示,本来想着很简单的一件事情,结果让我折腾了挺久,这里记录总结一下加深一下印象。

方法总结

第一种:利用h5新出navigator的onLine属性

不好用的理由
1、只会未连上路由或者局域网时才是false,要是连上路由没有网的情况它会是true.
2、有浏览器兼容问题,具体也懒得管它兼容啥型号的,但是不兼容我们项目组除了我以外所有同事的浏览器,没想到它也是看颜值生效的,哎。

第二种:window的online和offline事件

不好用的理由
不兼容测试小姐姐的浏览器💔

第三种:使用插件 offline.js

不好用的理由
哎,怎么说呢,试了好多遍,一度以为是我有问题,没有看懂人家的api,后来才发现它是真的不行,我测试的时候用的是Chrome,连的是wifi,把wifi断开之后,没有反应,后来去讨论区去看了一下,其他人也是这样:

image.png
既然大家都是这样,那我就放心了,,,,放心的,,,弃用了😊

-----------------------------华丽丽的分隔线-------------------------------------

本来就是不想通过请求的方式去实现,结果上面的都不行,我也没有找到其他方法,只能通过请求轮询的方式去判断啦。

第四种:利用image标签的onError事件

大家好,我是例如:

setInterval(function(){
            var $img = $('<img src="你的图片地址?'+new Date().getTime()+'">')
            $img.appendTo('body').css("display","none").load(function(){
                console.log("网络连接成功!")
                $(this).remove()
            }).error(function(){
                console.log("您的网络已断开!")
                $(this).remove()
            })
},5000)

大家好,我是tips:
图片搞小一点,毕竟你看看这个马,就知道它比较吃资源啦。

第五种:轮询ajax请求

大家应该都会,我就不BB了。

上一篇下一篇

猜你喜欢

热点阅读