• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 使用JS在浏览器中判断当前网络连接状态的几种方法

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

作者:缪运泽 字体:[增加 减小] 来源:互联网 时间:2017-05-11

缪运泽通过本文主要向大家介绍了js判断浏览器类型,js获取浏览器高度,js判断浏览器,js获取浏览器窗口大小,js获取浏览器宽度等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

1. navigator.onLine

2. ajax请求

3. 获取网络资源

4. bind()

1. navigator.onLine

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

if(navigator.onLine){
 ...
}else{
 ...
}
</div>

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

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

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

2. ajax请求

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

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

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 = "https://www.baidu.com/img/bd_logo1.png";
  var timeStamp = Date.parse(new Date());
  $("#img-test").attr("src", imgPath + "?timestamp=" + timeStamp);
 });
});
</script>
<body>
 <img id="img-test" style="display:none;" onerror="getImgError()"/>
 <button id="btn-test">check status</button>
</body>
</div>

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

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

4. bind()

原理同1:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用JS在浏览器中判断当前网络连接状态的几种方法
  • js操作浏览器的参数方法
  • js 简单判断浏览器

相关文章

  • 2017-05-11vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
  • 2017-05-11详解本地Node.js服务器作为api服务器的解决办法
  • 2017-05-11Vue2.0使用过程常见的一些问题总结学习
  • 2017-05-11bootstrap手风琴制作方法详解
  • 2017-05-11原生javascript上传图片带进度条【实例分享】
  • 2017-05-11微信小程序 下拉菜单简单实例
  • 2017-05-11微信端开发--登录小程序步骤
  • 2017-05-11jQuery内容筛选选择器实例代码
  • 2017-05-11jQuery无刷新上传之uploadify简单代码
  • 2017-05-11JavaScript中的子窗口与父窗口的互相调用问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ng2学习笔记之bootstrap中的component使用教程
    • Bootstrap导航条学习使用(一)
    • js+html制作简单验证码
    • jQuery zTree树插件简单使用教程
    • 原生js实现瀑布流布局
    • js扩展运算符
    • ES6中Math对象的部分扩展
    • jQuery获取两个元素之间的同胞元素(适用于无限分类的显示隐藏)
    • AngularJS监听路由变化的方法
    • select下拉框插件jquery.editable-select详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有