浏览器标签切换监听

master
IoTgod 5 years ago
parent 4b43b5dfab
commit 79378829de
  1. 47
      server/cn/home/www/cdn/heartbeat/heartbeat_footer.min.js
  2. 5
      server/cn/home/www/cdn/heartbeat/heartbeat_head.min.js
  3. 1
      server/cn/home/www/cdn/heartbeat/k.html

@ -18,6 +18,53 @@ var __tmpCookie = "";
$.post("https://log.yimian.xyz/heartbeat.php",{"ip":ip,"fp":fp,"city":ipCity});
},3000);
// 兼容不同浏览器对document.hidden的支持
function getHiddenProp() {
var prefixes = ['webkit', 'moz', 'ms', 'o'];
// if 'hidden' is natively supported just return it
if ('hidden' in document) return 'hidden';
// otherwise loop over all the known prefixes until we find one
for (var i = 0; i < prefixes.length; i++) {
if ((prefixes[i] + 'Hidden') in document)
return prefixes[i] + 'Hidden';
}
// otherwise it's not supported
return null;
}
// // 兼容不同浏览器对document.visibilityState的支持
function getVisibilityState() {
var prefixes = ['webkit', 'moz', 'ms', 'o'];
if ('visibilityState' in document) return 'visibilityState';
for (var i = 0; i < prefixes.length; i++) {
if ((prefixes[i] + 'VisibilityState') in document)
return prefixes[i] + 'VisibilityState';
}
// otherwise it's not supported
return null;
}
// 根据上面两个方法对当前浏览器窗口的状态检测
var visProp = getHiddenProp();
var __title = document.title;;
if (visProp)
{
var evtname = visProp.replace(/[H|h]idden/, '') + 'visibilitychange';
document.addEventListener(evtname, function ()
{
if(document[getVisibilityState()] == "hidden") document.title = '唔~你去哪了呢';
if(document[getVisibilityState()] == "visible") {
document.title = '欢迎回来@_@';
setTimeout(function(){document.title = __title;}, 2000);
heartbeat_get();
}
//alert(document[getVisibilityState()]);
}, false);
}
})();

@ -1,7 +1,7 @@
var __isCookie = 0;
(function heartbeat_get()
function heartbeat_get()
{
cookie.set("fp",fp);
cookie.set("fp_",fp);
@ -29,5 +29,6 @@ var __isCookie = 0;
cookie.set(arr[i], _obj[arr[i]]);
}
});
})();
};
heartbeat_get();

@ -0,0 +1 @@
<script type="text/javascript" src="./heartbeat_footer.min.js"></script>
Loading…
Cancel
Save