11521 sujets
JavaScript, DOM et API Web HTML5
js_html a écrit :
Ah oui en passant comme ça bien sure, mais il faut déjà s'y connaitre un peu plus et...il n'y pas grand monde qui fera ça
Tu peux quand même perdre pas mal de clients...
Je dis ça, je ne dis rien...
Moi, si je vois ça, je partage la playlist que j'ai créé gratuitement...
C'est à celui-là que je voulais répondre ^^
Sinon, si tu veux essayer de bloquer les raccourcis claviers pour copier l'url, essaie https://jsfiddle.net/exercices/7fm1nw5b/3/
Mais je te garantis que parsimonhi ne sera pas content.
cf. https://forum.alsacreations.com/topic-5-87716-1.html
Modifié par js_html (25 Feb 2021 - 12:39)
Mais je te garantis que parsimonhi ne sera pas content.
cf. https://forum.alsacreations.com/topic-5-87716-1.html
Modifié par js_html (25 Feb 2021 - 12:39)
<!DOCTYPE html>
<html>
<head>
<title>Checkbox</title>
<meta charset="utf-8">
</head>
<body>
<iframe src="https://www.dailymotion.com/embed/video/k2VxkPRmmNG6JVwE7cE" height="350px" width="650px"></iframe>
<input type="checkbox" id="k3HMMrTzCsALQswGirU" >
<script>
for(vari=0;i<localStorage.length;i++) console.log(localStorage.key(i));
for(var i=0;i<document.querySelectorAll("input[type='checkbox']").length;i++){
document.querySelectorAll("input[type='checkbox']")[i].addEventListener("change",function(){
this.checked=true;
this.disabled=true;
if(localStorage.getItem(this.id)==null){
localStorage.setItem(this.id,"");
}
})
}
for(var i=0;i<localStorage.length;i++){
if(document.getElementById(localStorage.key(i))!=null){
document.getElementById(localStorage.key(i)).checked=true;
document.getElementById(localStorage.key(i)).disabled=true;
}
}
/*https://www.alsacreations.com/profil/lire/81417-jshtml.html*/
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Checkbox</title>
<meta charset="utf-8">
</head>
<body>
<iframe src="https://www.dailymotion.com/embed/video/k2VxkPRmmNG6JVwE7cE" height="350px" width="650px"></iframe>
<input type="checkbox" id="k3HMMrTzCsALQswGirU" >
<script>
for(vari=0;i<localStorage.length;i++) console.log(localStorage.key(i));
for(var i=0;i<document.querySelectorAll("input[type='checkbox']").length;i++){
document.querySelectorAll("input[type='checkbox']")[i].addEventListener("change",function(){
this.checked=true;
this.disabled=true;
if(localStorage.getItem(this.id)==null){
localStorage.setItem(this.id,"");
}
})
}
for(var i=0;i<localStorage.length;i++){
if(document.getElementById(localStorage.key(i))!=null){
document.getElementById(localStorage.key(i)).checked=true;
document.getElementById(localStorage.key(i)).disabled=true;
}
}
/*https://www.alsacreations.com/profil/lire/81417-jshtml.html*/
</script>
</body>
</html>
Storage {wistia-video-progress-ikt4idjlce: "{"resumableKey":"6f31622_2b31b75d-cb41-4266-a788-004576992b9c-3c3dc84e1-750ca32b00ba-66f3"}", mc_pixel_session_data: "{"sessionId":"012c7c69fc6029838112ac2c97e26a643b68…geId":"666665217005498","token":null,"custom":{}}", fbclid: "IwAR2eY3g23T43tKN2AgSDFvfCgPGj7oiVXC34-XVnXRh2PN3p5BCdaidu_dI", k3HMMrTzCsALQswGirU: "", cf_uvid: "ff9db0c16112fcfc6be8dbb487d253ce", …}
js_html a écrit :
Donc
<!DOCTYPE html> <html> <head> <title>Checkbox</title> <meta charset="utf-8"> </head> <body> </script> </body> </html>
t'enlève !
D'ailleurs pour l'id, je t'ai dit de mettre celle de la vidéo ou une logique 1, 2, 3...
C'est quoi la différence entre les deux ? Le premier code est mieux.
Alors j'avais essayé avec ID 0001 mais aucune différence
Ca marque des erreurs ! Voir photo https://www.cjoint.com/c/KBzl0BYaHWG
Bonjour,
Je n'ai pas compris pourquoi il faudrait enlever ça : c'est son code (qui est ensuite probablement inséré dans une iframe par son hébergeur).
Il me semble que si (il y a k3HMMrTzCsALQswGirU: "" dans le local storage).
@Mark19
Pour l'id du input, il faudrait reprendre celui de la video. Par exemple, dans ton cas ici, c'est id="k2VxkPRmmNG6JVwE7cE" et non pas id="k3HMMrTzCsALQswGirU".
Et pour chaque autre input, il faudrait faire la même chose (prendre l'id qui est dans l'url de la video correspondante).
Vois-tu ce que je veux dire ?
Enfin, tu peux essayer le code suivant :
Amicalement,
js_html a écrit :
Donc
<!DOCTYPE html> <html> ... </html>
t'enlève !
Je n'ai pas compris pourquoi il faudrait enlever ça : c'est son code (qui est ensuite probablement inséré dans une iframe par son hébergeur).
js_html a écrit :
Oui, le problème est que ça ne rajoute pas dans le localStorage.
Il me semble que si (il y a k3HMMrTzCsALQswGirU: "" dans le local storage).
@Mark19
Pour l'id du input, il faudrait reprendre celui de la video. Par exemple, dans ton cas ici, c'est id="k2VxkPRmmNG6JVwE7cE" et non pas id="k3HMMrTzCsALQswGirU".
Et pour chaque autre input, il faudrait faire la même chose (prendre l'id qui est dans l'url de la video correspondante).
Vois-tu ce que je veux dire ?
Enfin, tu peux essayer le code suivant :
window.addEventListener('load', function() {
for(var i=0;i<document.querySelectorAll("input[type='checkbox']").length;i++){
document.querySelectorAll("input[type='checkbox']")[i].addEventListener("change",function(){
this.checked=true;
this.disabled=true;
if(localStorage.getItem(this.id)==null){
localStorage.setItem(this.id,"");
}
})
}
for(var i=0;i<localStorage.length;i++){
if(document.getElementById(localStorage.key(i))!=null){
document.getElementById(localStorage.key(i)).checked=true;
document.getElementById(localStorage.key(i)).disabled=true;
}
}
});
/*https://www.alsacreations.com/profil/lire/81417-jshtml.html*/
Amicalement,
a écrit :Il faut créer un document html à l'intérieur de la page pour remttre les iframe vidéos et le script ?
Je n'ai pas compris pourquoi il faudrait enlever ça : c'est son code (qui est ensuite probablement inséré dans une iframe par son hébergeur).
a écrit :Effectivement ! Je ne l'avais pas vu !
Il me semble que si (il y a k3HMMrTzCsALQswGirU: "" dans le local storage).
T'a rajouté window.addEventListener('load', function() {});, c'est ça ? D'ailleurs, ça sert à quoi ? Mettre le script à la fin, c'est la même chose ou c'est différent ?
PS : La dernière ligne, tu peux l'enlever.
Modifié par js_html (25 Feb 2021 - 13:07)
Bonjour,
Non, non, rien à voir avec les iframes des vidéos. Je pense que l'hébergeur rajoute un iframe (ou je ne sais quoi d'autres) intermédiaire pour chaque membre dans lequel il inclut le code fourni par le membre. Ainsi, il ne "pollue" pas son propre code (celui de l'hébergeur) qui est autour du contenu codé par le membre.
Je soupçonne que dans la version précédente, quand ton script était déclenché, la page n'était pas encore pas prête. Et du coup, la modification des inputs ne pouvait pas se faire correctement. Ce bout de code que je rajoute fait en sorte d'attendre que la page soit prête avant que ton script soit exécuté. Mais attendons le test pour voir si c'est vraiment ça.
Amicalement,
js_html a écrit :
Il faut créer un document html à l'intérieur de la page pour remettre les iframe vidéos et le script ?
Non, non, rien à voir avec les iframes des vidéos. Je pense que l'hébergeur rajoute un iframe (ou je ne sais quoi d'autres) intermédiaire pour chaque membre dans lequel il inclut le code fourni par le membre. Ainsi, il ne "pollue" pas son propre code (celui de l'hébergeur) qui est autour du contenu codé par le membre.
js_html a écrit :
T'a rajouté window.addEventListener('load', function() {});, c'est ça ? D'ailleurs, ça sert à quoi ?
Je soupçonne que dans la version précédente, quand ton script était déclenché, la page n'était pas encore pas prête. Et du coup, la modification des inputs ne pouvait pas se faire correctement. Ce bout de code que je rajoute fait en sorte d'attendre que la page soit prête avant que ton script soit exécuté. Mais attendons le test pour voir si c'est vraiment ça.
Amicalement,
a écrit :C'est possible, mais ça ne charge pas dans l'ordre (hormis title, meta, etc.) ? Le script étant à la fin, il ne s'exécute pas après que le reste soit chargé ?
Je soupçonne que dans la version précédente, quand ton script était déclenché, la page n'était pas encore pas prête. Et du coup, la modification des inputs ne pouvait pas se faire correctement. Ce bout de code que je rajoute fait en sorte d'attendre que la page soit prête avant que ton script soit exécuté. Mais attendons le test pour voir si c'est vraiment ça.
Si j'ai bien compris je teste ça
<!DOCTYPE html>
<html>
<head>
<title>Checkbox</title>
<meta charset="utf-8">
</head>
<body>
<iframe src="https://www.dailymotion.com/embed/video/k2VxkPRmmNG6JVwE7cE" height="350px" width="650px"></iframe>
<input type="checkbox" id="k2VxkPRmmNG6JVwE7cE" >
<script>
window.addEventListener('load', function() {
for(var i=0;i<document.querySelectorAll("input[type='checkbox']").length;i++){
document.querySelectorAll("input[type='checkbox']")[i].addEventListener("change",function(){
this.checked=true;
this.disabled=true;
if(localStorage.getItem(this.id)==null){
localStorage.setItem(this.id,"");
}
})
}
for(var i=0;i<localStorage.length;i++){
if(document.getElementById(localStorage.key(i))!=null){
document.getElementById(localStorage.key(i)).checked=true;
document.getElementById(localStorage.key(i)).disabled=true;
}
}
});