js判断当前浏览器是否被浏览 document[hiddenProperty]

1.背景:
    做房产咨询时,在B客服端如果收到客户发过来消息,浏览器不在当前浏览窗口,在标题栏提示B端客服收到新消息消息,方便B端客服及时回复新消息。

2.实现思路:
    判断B端是否浏览当前页,改变浏览器title值,通过计时器改变title,做出来的效果有点像动画的赶脚。(此处的else部分应该写在收到信息时执行,收到消息判断不在当前页,则改变title)
3.代码实现

<html>

	<head>
		<meta charset="UTF-8">
		<title>当前页面 </title>
	</head>

	<body>
		<script type="text/javascript">
			var hiddenProperty = 'hidden' in document ? 'hidden' :
				'webkitHidden' in document ? 'webkitHidden' :
				'mozHidden' in document ? 'mozHidden' :
				null,
				timer = false,
				visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange'),
				onVisibilityChange = function() {
					if(!document[hiddenProperty]) { //在当前页
						document.title = "当前页面";
						if(timer) {
							window.clearInterval(timer);
							timer = false;
						}
					} else {
						document.title = "收到新消息 ";
						if(!timer) timer = setInterval(function() {
							var title = document.title;
							var l = title.charAt(0);
							var r = title.substring(1, title.length);
							document.title = r + l;
						}, 500);
					}
				};
			document.addEventListener(visibilityChangeEvent, onVisibilityChange);
		</script>
	</body>

</html>

4.效果

  

猜你喜欢

转载自blog.csdn.net/hangGe0111/article/details/107933413
今日推荐