File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed
Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments