Ich implementiere ein Javascript-Timer der Timer lädt in einem iframe und dieser Timer spielt auch einige Audiodateien in bestimmten Abständen, im Grunde ist es für Routineübungen so sagen für 10 Sekunden gibt es erste Übung und dann für eine Minute die zweite und für 2 Minuten die dritte und so weiter.verhindern Safari aus dem Schlaf mit Javascript
Wenn die Zeit für eine Übung beendet ist und die nächste auftaucht, ändere ich den Ton für diese bestimmte Übung und so weiter. Was ich will, ist zu verhindern, dass der Browser in jedem Modus, der Telefon ist (Android, iOS), Laptop überall bis zum Zeitpunkt des Timers läuft.
Ich habe 2 Lösungen für iOS verwendet, die ich benutze, um die Seite neu zu laden und für die anderen, ob es Android oder Laptop ist Ich versuche ein Video wie angegeben here.
Und mein letzter Code Dinge zu überprüfen ist
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();
}
Die sleep.js aus dem obigen Link wie gesagt genommen wird. Habe seit ungefähr einer Woche Sachen probiert. Diese Lösung funktioniert auf allen Browsern mit Ausnahme der Safari auf MAC. Kann mir jemand sagen, wie ich den Safari-Browser anhalten kann, um nicht in den Schlafmodus zu wechseln.
können Sie nicht ........ Sie sind auf die Gnade des Browsers. –
Ihr "endgültiger Code zum Überprüfen der Dinge" hat den 'AppleWebKit'-Regex auskommentiert, so dass' ua.iOS' Safari auf macOS nicht einmal erkennen wird. Haben Sie zumindest bestätigt, dass Sie Safari auf macOS erkennen können? –