发布网友 发布时间:2022-04-27 01:21
共9个回答
热心网友 时间:2022-05-12 07:08
这样:
//网页当前状态判断var hidden, state, visibilityChange; if (typeof document.hidden !==
"undefined") {
hidden = "hidden";
visibilityChange = "visibilitychange";
state = "visibilityState";} else if (typeof document.mozHidden !== "undefined") {
hidden = "mozHidden";
visibilityChange = "mozvisibilitychange";
state = "mozVisibilityState";} else if (typeof document.msHidden !== "undefined") {
hidden = "msHidden";
visibilityChange = "msvisibilitychange";
state = "msVisibilityState";} else if (typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
state = "webkitVisibilityState";}// 添加*,在title里显示状态变化
document.addEventListener(visibilityChange, function() {
document.title = document[state];}, false);//初始化页面状态document.title =
document[state];
注意事项
浏览器对象有onfocus 和 onblur事件可以监听。但是触发这两个事件的前提是页面之前是focus过的。也就是说页面刚刚渲染完,用户在没有页面上任何操作时,页面是不会正常监听这两个事件的;或者页面在打开状态下,但是触发了onblur之后并无页面操作的情况下也不会正常监听这两个事件。
直到,用户操作页面触发focus,之后离开页面才会触发blur,再次点击到当前页面时才会触发focus,如此反复都会触发相应的事件。
触发onblur事件的情况:
1、在chrome浏览器下,点击console面板也会触发blur事件,同样的,前提是之前是focus的状态。
2、页面最小化。
3、浏览器切换tab页面。
4、页面中的任何弹窗。
5、focus状态下切换到其他应用。
热心网友 时间:2022-05-12 08:26
可以通过document.hidden属性判断当前页面是否是激活状态。
兼容性:IE10+,Firefox10+,Chrome14+,Opera12.1+,Safari7.1+
兼容性写法示例:
var hiddenProperty = 'hidden' in document ? 'hidden' :
热心网友 时间:2022-05-12 10:01
你可以使用 onblur 和 onfocus 判断页面是否在最前端(获取焦点)
如果 onblur,停止向服务器请求,当 onfocus,继续请求
下面这个例子可以更好的演示我上面说的,你只是需要把输出数字换为 ajax 的工作。
打开页面,先输出几个数字,转到其它页面,等待几秒,再回去,数字应该接着上次离开时候的值继续输出。
热心网友 时间:2022-05-12 11:52
可以给整个页面添加mouseover和mouseout事件,如果用户正在浏览该页面,基本上鼠标是在这个页面上的。这里,当over事件一时触发可以判断用户正在浏览页面,当out触发,则认为用户不关注页面了。追问先判断鼠标的位置。。如果能找到鼠标就向服务器get你看能不能行的通?
热心网友 时间:2022-05-12 14:00
1.监听cookis
热心网友 时间:2022-05-12 16:25
document.hidden属性,返回布尔值,true,不过只IE10以上兼容!热心网友 时间:2022-05-12 19:06
你可以使用 onblur 和 onfocus 判断页面是否在最前端(获取焦点)热心网友 时间:2022-05-12 22:04
网页聊天室功能??追问嗯嗯。追答两中方法:
1. ajax 长连接 技术
2. 服务器推 技术
具体文档 网上都有介绍,自己看看就行了。