wangchuanjin 7 年之前
父节点
当前提交
60aa94c389
共有 2 个文件被更改,包括 20 次插入4 次删除
  1. 1 1
      src/web/staticres/js/jyWebScoket.js
  2. 19 3
      src/web/staticres/js/login.js

+ 1 - 1
src/web/staticres/js/jyWebScoket.js

@@ -130,7 +130,7 @@ var QrToLabPolling = {
 			if(window.WebSocket == undefined) {
 				QrToLabPolling.isPostLoginPolling = true;
 			}
-			if(!QrToLabPolling.isPostLoginPolling){
+			if(isPageHidden || !QrToLabPolling.isPostLoginPolling){
 				return;
 			}
 			$.ajax({

+ 19 - 3
src/web/staticres/js/login.js

@@ -25,7 +25,19 @@ var unseatflag = false;//未登录情况下,用户点击超级搜索等开启
 var unseatzbqyflag = false;//未登录情况下,用户点击中标企业等开启按钮或者功能,根据此状态看是否弹出二维码
 var sendMsgInterval = null;
 var entjumpflag = false;
-
+//页面是否被切换走
+var isPageHidden = false;
+try{
+	if(window.addEventListener) {    
+		document.addEventListener('visibilitychange',function () {
+		    if(document.hidden){
+				isPageHidden = true;
+		    }else {
+				isPageHidden = false;
+		    }
+		});
+	} 
+}catch(e){}
 //心跳检测
 var WebSocketHeartCheck = function(scoketType){
 	this.lockReconnect = false;//避免重复连接
@@ -76,6 +88,9 @@ var LoginPolling = {
 		this.initInterval = setInterval(this.postShareid,3000);
 	},
 	postShareid: function(){
+		if(isPageHidden || pageshareid == "" || kopshareid == ""){
+			return;
+		}
 		$.ajax({
 			type: "POST",
 			url: "/front/ajaxPolling",
@@ -84,7 +99,7 @@ var LoginPolling = {
 			timeout: 3000,
 			success: function(r){
 				clearInterval(LoginPolling.initInterval);
-				LoginPolling.initInterval = null;
+				//LoginPolling.initInterval = null;
 			}
 		});
 	},
@@ -99,7 +114,7 @@ var LoginPolling = {
 			if(window.WebSocket == undefined) {
 				LoginPolling.isPostLoginPolling = true;
 			}
-			if(!LoginPolling.isPostLoginPolling){
+			if(isPageHidden || !LoginPolling.isPostLoginPolling){
 				return;
 			}
 			$.ajax({
@@ -120,6 +135,7 @@ var LoginPolling = {
 		clearInterval(this.loginPollingInterval);
 		this.loginPollingInterval = null;
 		this.isPostLoginPolling = false;
+		this.initInterval = null;
 	}
 }
 var webSocketHeartCheck = new WebSocketHeartCheck("login");