广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >如何使用JS在浏览器中判断当前网络连接状态
  • 665
分享到

如何使用JS在浏览器中判断当前网络连接状态

2024-04-02 19:04:59 665人浏览 八月长安
摘要

这篇文章主要介绍如何使用js在浏览器中判断当前网络连接状态,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用JS在浏览器中判断当前网络状态的几种方法如下:1. navigator.o

这篇文章主要介绍如何使用js在浏览器中判断当前网络连接状态,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

使用JS在浏览器中判断当前网络状态的几种方法如下:

1. navigator.onLine

2. ajax请求

3. 获取网络资源

4. bind()

1. navigator.onLine

通过navigator.onLine判断当前网络状态:

if(navigator.onLine){
 ...
}else{
 ...
}

非常简单,但是并不准确-根据MDN的描述:

navigator.onLine只会在机器未连接到局域网或路由器时返回false,其他情况下均返回true。

也就是说,机器连接上路由器后,即使这个路由器没联通网络,navigator.onLine仍然返回true。

2. ajax请求

采用get请求的方式,根据返回值判断是否能够成功get到数据,从而确定当前的网络状态:

$.ajax({
 url: 'x.html',
 success: function(result){
  ...
 }, 
 error: function(result){
  ...
 }
});

3. 获取网络资源

原理同2,在页面放一张隐藏图片,设置其onerror函数(获取图片资源失败时会调用该函数):

<script src="./Jquery-3.1.1.min.js"></script>
<script>
function getImgError(){
 alert("Network disconnect!");
}
$().ready(function(){
 $("#btn-test").click(function(){
  var imgPath = "/file/imgs/upload/202210/19/aar0akfsait.png";
  var timeStamp = Date.parse(new Date());
  $("#img-test").attr("src", imgPath + "?timestamp=" + timeStamp);
 });
});
</script>
<body>
 <img id="img-test"  onerror="getImgError()"/>
 <button id="btn-test">check status</button>
</body>

每次点击button时,更新该图片的src。若获取图片失败,则认为网络连接失败

这种判断网络状态的准确完全取决于图片资源是否稳定。。。

4. bind()

原理同1:

var netStatue = true;
$(window).bind('online', function(){
 netStatue = true;
});
$(window).bind('offline', function(){
 netStatue = false;
});
...
if(netStatue){
 ...
}else{
 ...
}

以上是“如何使用JS在浏览器中判断当前网络连接状态”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: 如何使用JS在浏览器中判断当前网络连接状态

本文链接: https://www.lsjlt.com/news/76907.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用JS在浏览器中判断当前网络连接状态
    这篇文章主要介绍如何使用JS在浏览器中判断当前网络连接状态,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用JS在浏览器中判断当前网络状态的几种方法如下:1. navigator.o...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作