小程序内嵌webview页面 获取当前网络状态(联网/断网)

今天在做微信小程序的时候,产品要求在内嵌的H5页面里面也要有断网提示。

方案一:小程序app.js

onLaunch: function () {
    
    
	this.networkManage(); //调用监听网络状态的方法
},
networkManage: function () {
    
    
    var that = this;
    //监听网络状态
    wx.onNetworkStatusChange(function (res) {
    
    
      if (!res.isConnected) {
    
    
        wx.showToast({
    
    
          title: "网络连接失败,请稍后重试。",
          icon: 'none',
          duration: 1800,
          mask: true
        })
      }
    })
  },

优点:只要断网了就会触发提示,不管是小程序原生页面还是webview内嵌h5的页面
缺点:如果是要在h5页面点击时触发断网提示,这个就不能满足了

所以又找了方案二:window.navigator.onLine

$(".aaa").click(function(){
    
    
	if(!window.navigator.onLine){
    
    
      	//断网情况
    }else{
    
    
        //正常情况
    }
}

Tips:这个API在微信开发者工具里面始终走的 true ,但是实际上真机测试(体验版)的时候,ios和小米都是正常的,其他幸好的安卓手机没有测试过。

猜你喜欢

转载自blog.csdn.net/qq_35696889/article/details/105296975