diff --git a/server/cn/home/www/cdn/heartbeat/heartbeat_footer.min.js b/server/cn/home/www/cdn/heartbeat/heartbeat_footer.min.js index 5ba90b7..7ad649d 100644 --- a/server/cn/home/www/cdn/heartbeat/heartbeat_footer.min.js +++ b/server/cn/home/www/cdn/heartbeat/heartbeat_footer.min.js @@ -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); +} + + })(); diff --git a/server/cn/home/www/cdn/heartbeat/heartbeat_head.min.js b/server/cn/home/www/cdn/heartbeat/heartbeat_head.min.js index d2aebb7..2a0fbeb 100644 --- a/server/cn/home/www/cdn/heartbeat/heartbeat_head.min.js +++ b/server/cn/home/www/cdn/heartbeat/heartbeat_head.min.js @@ -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(); diff --git a/server/cn/home/www/cdn/heartbeat/k.html b/server/cn/home/www/cdn/heartbeat/k.html new file mode 100644 index 0000000..3ce4929 --- /dev/null +++ b/server/cn/home/www/cdn/heartbeat/k.html @@ -0,0 +1 @@ + \ No newline at end of file