Lancé NoSleep au chargement d'une page

Boutfeu Messages postés 2 Date d'inscription vendredi 22 février 2019 Statut Membre Dernière intervention 25 février 2019 - 22 févr. 2019 à 12:33
jordane45 Messages postés 38195 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 mai 2024 - 25 févr. 2019 à 22:01
Bonjour a tous

J'ai besoin d’empêché la mise en veille des mobiles sur certaine page pour sa j'utilise nosleep.
je voudrais évité au utilisateur de devoir cliqué sur un bouton donc charger nosleep actif sur onload .
vu que je ne suis vraiment pas javascript je me tourne vers vous

<input type="button" id="toggle" value="Mise en veille interdite" />
<script src="NoSleep.min.js"></script>
<script>
var noSleep = new NoSleep();
var wakeLockEnabled = false;
var toggleEl = document.querySelector("#toggle");
toggleEl.addEventListener('click', function() {
if (!wakeLockEnabled) {
noSleep.enable(); // keep the screen on!
wakeLockEnabled = true;
toggleEl.value = "Mise en veille interdite";
document.body.style.backgroundColor = "";
} else {
noSleep.disable(); // let the screen turn off.
wakeLockEnabled = false;
toggleEl.value = "Mise en veille autorisée";
document.body.style.backgroundColor = "";
}
}, false);


en vous remerciant par avance pour toute aide

4 réponses

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
25 févr. 2019 à 20:35
bonjour

il faudrait utiliser click qui permet de cliquer sur un element avec un script qui se declenchera tous les x temp en utilisant soit setTimeout soit setInterval

document.querySelector("#toggle").click

0
Boutfeu Messages postés 2 Date d'inscription vendredi 22 février 2019 Statut Membre Dernière intervention 25 février 2019
25 févr. 2019 à 21:23
Merci pour ta réponse mais je ne comprend pas pourquoi ont ne peut pas appeler
toggleEl.addEventListener('click', function()

avec un onload je sais je suis vraiment pas familier avec javascript mais j'ai encore rien trouver qui bloque la mise en veille
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
25 févr. 2019 à 22:00
addEventListener ajoute un evenement a l'element mais ne cree pas l' evenement dans le sens cliquer sur l'element et onload fonctionnement uniquement au chargement de la page
0
jordane45 Messages postés 38195 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 mai 2024 344
25 févr. 2019 à 22:01
Bonjour,

Si tu veux lancer le NoSleep au chargement de la page, tu peux
window.onload = function (){
        var noSleep = new NoSleep();
        console.log("activer nosleep");
        noSleep.enable(); // keep the screen on!
      };


Si tu veux conserver l'utiliser, en plus, du bouton, dans ce cas :
var wakeLockEnabled = false;
      var toggleEl = document.getElementById("toggle");
      toggleEl.addEventListener('click', gererNoSleep,false);
      
      
      function gererNoSleep(){
        var noSleep = new NoSleep();
        if (!wakeLockEnabled) {
          console.log("activer nosleep");
          noSleep.enable(); // keep the screen on!
          wakeLockEnabled = true;
          toggleEl.value = "Mise en veille interdite";
          document.body.style.backgroundColor = "";
        } else {
          console.log("désactiver nosleep");
          noSleep.disable(); // let the screen turn off.
          wakeLockEnabled = false;
          toggleEl.value = "Mise en veille autorisée";
          document.body.style.backgroundColor = "";
        }
      }
      
     window.onload = function (){
        gererNoSleep();
      };

0
Rejoignez-nous