Roh*_*ani 10 javascript safari
我正在实现定时器在iframe中加载的javascript计时器,并且该计时器还以一定的间隔播放一些音频文件,基本上它是用于常规练习所以说10秒钟有第一次练习然后是一分钟第二次和2分钟第三个,依此类推.
当练习的时间结束并且下一个练习结束时,我会更改该特定练习的音频,依此类推.我想要的是阻止浏览器在手机(Android,iOS),笔记本电脑的每个模式中睡眠,直到计时器运行.
我已经使用2个ios解决方案我正在使用它来重新加载页面,而对于其他人,无论是android还是笔记本电脑,我正在尝试这里所述的视频.
我检查事物的最终代码是
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();
}
Run Code Online (Sandbox Code Playgroud)
如上所述,sleep.js取自链接.一直在尝试一周左右的事情.此解决方案适用于除MAC上的Safari之外的所有浏览器.任何人都可以告诉我如何阻止Safari浏览器进入睡眠模式.
在过去,您可以进行黑客攻击,例如在页面上添加音频标记或在隐藏的iframe中重新加载URL.但是这些都不适用于iOS 7.唯一可行的解决方案是创建一个使用UIWebView的应用程序.
如果您有兴趣,可以在下面获取更多信息:https://stackoverflow.com/a/7477438/1640090