H5判断网络状态

首先推荐一个网站,介绍H5 API的:https://github.com/AurelioDeRosa/HTML5-API-demos

netWork API:http://wicg.github.io/netinfo/

1.判断网络连接的网络状态

if (navigator.onLine) {
  alert('online')
} else {
  alert('offline');
}


想要监听浏览器的联网状态, 使用window.onOnline和window.onOffline事件:

window.addEventListener("offline", function(e) {alert("offline");})
 
window.addEventListener("online", function(e) {alert("online");})

更为安全的做法:

var el = document.body;  
if (el.addEventListener) {  
   window.addEventListener("online", function () {  
     alert("online");}, true);  
   window.addEventListener("offline", function () {  
     alert("offline");}, true);  
}  
else if (el.attachEvent) {  
   window.attachEvent("ononline", function () {  
     alert("online");});  
   window.attachEvent("onoffline", function () {  
     alert("offline");});  
}  
else {  
   window.ononline = function () {  
     alert("online");};  
   window.onoffline = function () {  
     alert("offline");};  
}  

注意,检测ononline事件,要绑定在window对象上 
attachEvent——兼容:IE7、IE8;不兼容firefox、chrome、IE9、IE10、IE11、safari、opera

addEventListener——兼容:firefox、chrome、IE、safari、opera;不兼容IE7、IE8

 

H5页面中判断Android应用是否已安装,可以通过以下步骤实现: 1. 使用intent协议 在H5页面中使用类似于以下代码的链接,可以通过intent协议打开应用: ``` <a href="intent://example.com/path?param1=value1&param2=value2#Intent;scheme=myscheme;package=com.example.package;end">Open App</a> ``` 其中,scheme是应用的协议,package是应用的包名,path是应用中对应的路径,param1和param2是需要传递的参数。 如果该应用已安装,会直接打开应用;如果未安装,会跳转到应用商店,提示用户下载应用。 2. 使用JavaScript 在H5页面中使用JavaScript判断应用是否已安装,可以通过以下代码实现: ``` function checkAppInstalled() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { // 判断是否在微信中打开 // 在微信中,无法通过JavaScript判断应用是否安装,需要使用其他方法 return false; } else { var schemeUrl = "myscheme://example.com/path"; // 应用的协议和路径 var timeout = 1000; // 超时时间,单位为毫秒 var timer, t = Date.now(); var iframe = document.createElement("iframe"); iframe.style.display = "none"; iframe.src = schemeUrl; document.body.appendChild(iframe); timer = setTimeout(function () { if (Date.now() - t < timeout + 100) { clearTimeout(timer); document.body.removeChild(iframe); alert("未安装应用"); } }, timeout); window.onblur = function () { clearTimeout(timer); document.body.removeChild(iframe); }; } } ``` 该方法通过创建一个隐藏的iframe元素,访问应用的协议和路径,如果应用已安装,则会打开应用;如果未安装,则会在一定时间后超时,弹出提示框。 需要注意的是,在微信中无法通过JavaScript判断应用是否已安装,需要使用其他方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值