我正在實現一個javascript計時器,該計時器會在iframe中加載,並且該計時器也會以一定的時間間隔播放一些音頻文件,基本上它用於例行演習,因此說10秒鐘有第一個練習,然後第二個1分鐘,第二個1分鐘,等等。使用javascript阻止Safari進入睡眠狀態
隨着鍛鍊時間的完成和下一個鍛鍊時間的增加,我改變了特定練習的音頻等等。我想要的是防止瀏覽器在手機(android,iOS),筆記本電腦等各種模式下休眠,直到定時器運行時爲止。
我已經使用了2個ios解決方案我正在使用重新加載頁面和其他人是否是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瀏覽器不進入睡眠模式。
你不能........你是在瀏覽器的擺佈。 –
你的「最終代碼來檢查事情」有'AppleWebKit' regex註釋掉了,所以'ua.iOS'甚至不會在macOS上檢測到Safari。你至少證實你可以在macOS上檢測到Safari嗎? –