Lancé NoSleep au chargement d'une page

Messages postés
2
Date d'inscription
vendredi 22 février 2019
Statut
Membre
Dernière intervention
25 février 2019
- - Dernière réponse : jordane45
Messages postés
26969
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 décembre 2019
- 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
Afficher la suite 

4 réponses

Messages postés
1731
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
1 décembre 2019
51
0
Merci
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

Commenter la réponse de @karamel
Messages postés
2
Date d'inscription
vendredi 22 février 2019
Statut
Membre
Dernière intervention
25 février 2019
0
Merci
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
Commenter la réponse de Boutfeu
Messages postés
1731
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
1 décembre 2019
51
0
Merci
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
Commenter la réponse de @karamel
Messages postés
26969
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 décembre 2019
318
0
Merci
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();
      };

Commenter la réponse de jordane45