webSocket苹果ios息屏后重连

  • Post author:
  • Post category:其他
ios苹果系统,不允许app程序在后台动运行,最近在开发项目中遇到的问题解决方案

<script>
var timeid, reconnect=false;	
function webSocket(){
	//连接WebSocket
	var ws = new WebSocket("ws://m.mlink.tv:8090");  
	ws.onopen = function() {
		//如果是重连则关闭轮询
		timeid && window.clearInterval(timeid);
		if(reconnect){
			alert('重连成功,部分');
		}
	};
	ws.onmessage = function(e){
		
	}; 
	//当断开时进行判断
	ws.onclose=function(e){
		window.clearInterval(timeid);
		//判断是否为苹果ios系统
		var isiOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
		if(isiOS){
			reconnect=true;
          	timeid = window.setInterval(webSocket, 3000);
		}
	}
}	
</script>

版权声明:本文为dnpao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。