Skip to content

Commit 0369e46

Browse files
page_visible_api
1 parent d70abb6 commit 0369e46

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* 【 page visible api 】
3+
* 可以用于控制页面元素,如后台停止音乐播放等
4+
* - hidden: document存储的页面状态的属性名
5+
* - visibilityChange: 监听事件名
6+
*/
7+
(function (show, hide) {
8+
var hidden, visibilityChange;
9+
if (typeof document.hidden !== "undefined") {
10+
hidden = "hidden";
11+
visibilityChange = "visibilitychange";
12+
} else if (typeof document.mozHidden !== "undefined") {
13+
hidden = "mozHidden";
14+
visibilityChange = "mozvisibilitychange";
15+
} else if (typeof document.msHidden !== "undefined") {
16+
hidden = "msHidden";
17+
visibilityChange = "msvisibilitychange";
18+
} else if (typeof document.webkitHidden !== "undefined") {
19+
hidden = "webkitHidden";
20+
visibilityChange = "webkitvisibilitychange";
21+
} else if (typeof document.onfocusin !== "undefined") {
22+
document.onfocusin = document.onfocusout = onchange;
23+
} else {
24+
window.onpageshow = window.onpagehide = window.onfocus = window.onblur = onchange;
25+
}
26+
if (hidden) {
27+
document.addEventListener(visibilityChange, onchange, false);
28+
}
29+
function onchange () {
30+
console.log("当前页面是否被隐藏:" + document[hidden]);
31+
if (document[hidden]) {
32+
pageHide();
33+
} else {
34+
pageShow();
35+
}
36+
}
37+
})(pageShow, pageHide);
38+
39+
function pageShow () {
40+
console.log("page is show");
41+
}
42+
function pageHide () {
43+
console.log("page is hide");
44+
}

0 commit comments

Comments
 (0)