Lancé NoSleep au chargement d'une page

Signaler
Messages postés
2
Date d'inscription
vendredi 22 février 2019
Statut
Membre
Dernière intervention
25 février 2019
-
Messages postés
29616
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
-
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
A voir également:

4 réponses

Messages postés
1767
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2020
102
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

Messages postés
2
Date d'inscription
vendredi 22 février 2019
Statut
Membre
Dernière intervention
25 février 2019

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
Messages postés
1767
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2020
102
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
Messages postés
29616
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
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();
      };