js判断用户是否在浏览当前页面

先说下需求,有两个简单的页面,一个登录页,一个首页,登录时用cookie记住密码,在首页用cookie判断是否登录,此时有个需求只要离开当前页面就需要重新登录
cookie的代码

//设置
function setCookie(cname, cvalue, exdays) {
	var d = new Date();
	d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
	var expires = "expires=" + d.toGMTString();
	document.cookie = cname + "=" + cvalue + "; " + expires;
}
//获取
function getCookie(cname, cvalue) {
	var name = cname + "=";
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i].trim();
		if (c.indexOf(name) == 0) {
			return c.substring(name.length, c.length);
		}
	}
	return "";
}

判断离开页面代码

		// 各种浏览器兼容
		var hidden, visibilityChange;
		if (typeof document.hidden !== "undefined") {
			hidden = "hidden";
			visibilityChange = "visibilitychange";
		} else if (typeof document.mozHidden !== "undefined") {
			hidden = "mozHidden";
			visibilityChange = "mozvisibilitychange";
		} else if (typeof document.msHidden !== "undefined") {
			hidden = "msHidden";
			visibilityChange = "msvisibilitychange";
		} else if (typeof document.webkitHidden !== "undefined") {
			hidden = "webkitHidden";
			visibilityChange = "webkitvisibilitychange";
		}
		// 添加监听器,在title里显示状态变化
		document.addEventListener(visibilityChange, function() {
			if (document[hidden]) {
				// 用户没有浏览当前页面
				setCookie("pasword","","-1");//清除cookie
			} else {
				// 用户正在浏览当前页面
			}
		}, false);

猜你喜欢

转载自blog.csdn.net/weixin_44436078/article/details/86591579
今日推荐