gpt4 book ai didi

javascript - 使用javascript防止safari进入休眠状态

转载 作者:可可西里 更新时间:2023-11-01 02:41:52 37 4
gpt4 key购买 nike

我正在实现一个 javascript 计时器,该计时器在 iframe 中加载,并且该计时器还会以特定的时间间隔播放一些音频文件,基本上它用于日常练习,所以说第一个练习持续 10 秒,然后第二个练习持续一分钟第三个持续 2 分钟,依此类推。

当一个练习的时间结束并且下一个练习出现时,我会更改该特定练习的音频等等。我想要的是防止浏览器在手机(android、iOS)、笔记本电脑等各种模式下休眠,直到计时器运行为止。

我已经为 ios 使用了 2 种解决方案,我正在使用它来重新加载页面,对于其他人,无论是 android 还是笔记本电脑,我都在尝试视频,如 here .

我最后检查的代码是

var ua = {
Android: /Android/ig.test(navigator.userAgent),
// iOS: /AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent)
iOS:/iPhone|iPad|iPod/i.test(navigator.userAgent)
};

<script type="text/javascript" src="js/sleep.js"></script>

if (ua.iOS) {
preventIosSleep = setInterval(function(){
window.top.location.href = '/';
setTimeout(function(){
try {
window.top.stop();
} catch (exception) {
document.execCommand('Stop');
}
}, 0);
}, 10000);
} else {
sleep.prevent();
}

// and when releasing the things
if (ua.iOS) {
clearInterval(preventIosSleep);
} else {
sleep.allow();
}

sleep.js 取自上述链接。已经尝试了大约一个星期了。此解决方案适用于除 MAC 上的 safari 之外的所有浏览器。任何人都可以告诉我如何停止 safari 浏览器不进入休眠模式。

最佳答案

在过去,您可以进行黑客攻击,例如在页面上添加音频标签或在隐藏的 iframe 中重新加载 URL。但是从 iOS 7 开始,这些都不起作用。唯一可行的解​​决方案是创建一个使用 UIWebView 的应用程序。

如果您有兴趣,以下是更多信息:https://stackoverflow.com/a/7477438/1640090

关于javascript - 使用javascript防止safari进入休眠状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40454048/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com