xb18
xb18
文章78
标签0
分类0
唤端

唤端

检查是否唤起

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function checkOpen(failure, timeout = 2000) {
const { hidden, visibilityChange } = getSupportedProperty();
const timer = setTimeout(() => {
const pageHidden = isPageHidden(hidden);
if (!pageHidden) {
failure();
} else {
// succ
console.log('launch success!');
}
}, timeout);

if (typeof visibilityChange !== 'undefined') {
document.addEventListener(visibilityChange, () => {
clearTimeout(timer);
});
} else {
window.addEventListener('pagehide', () => {
clearTimeout(timer);
});
}
}

function getSupportedProperty() {
if (typeof document === 'undefined') return;
let hidden = 'hidden';
let visibilityChange = 'visibilitychange';
if (typeof document.hidden !== 'undefined') {
// Opera 12.10 and Firefox 18 and later support
hidden = 'hidden';
visibilityChange = 'visibilitychange';
} else if (typeof document.msHidden !== 'undefined') {
hidden = 'msHidden';
visibilityChange = 'msvisibilitychange';
} else if (typeof document.webkitHidden !== 'undefined') {
hidden = 'webkitHidden';
visibilityChange = 'webkitvisibilitychange';
}
return {
hidden,
visibilityChange
};
}

function isPageHidden(hidden) {
if (typeof hidden === 'undefined') return false;
return document[hidden];
}
本文作者:xb18
本文链接:https://moelj.com/2024/07/05/%E5%94%A4%E7%AB%AF/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可