[Résolu] Afficher/masquer une zone
-
- Salamandre
- Messages : 37
- Inscription : 16 févr. 2005, 18:09
Chais pas, me rappelle pas avoir déjà fait ca en Js, j'le fais généralement en PHP, et ca se fait plutôt simplement lol !
Mais ptêtre qu'en Js aussi , chais pas
Mais ptêtre qu'en Js aussi , chais pas
Kévin Descoubes
kevindescoubes[-at-]gmail[-dot-]com
http://kevin.descoubes.free.fr/kisscoolblog/
Get Firefox : http://getfirefox.com/
kevindescoubes[-at-]gmail[-dot-]com
http://kevin.descoubes.free.fr/kisscoolblog/
Get Firefox : http://getfirefox.com/
Bien vuJ'ai en fait mis la préférence "javascript.options.strict" à true,

Calimo n'a pas trop le choix en fait. Le site est basé sur un moteur de template, ce serait compliqué de rajouter çà en php, il faudrait que les headers soient envoyés avant la page etc. Surtout pour une petite fonctionalité. Et çà peut trés bien se faire en js, c'est parfaitement adapté au cas présent.Tu fais ça en Javascript ou en PHP
Pour t'aider :
http://www.quirksmode.org/js/cookies.html
phpBB est chiant pour çà !martin a écrit :Calimo n'a pas trop le choix en fait. Le site est basé sur un moteur de template, ce serait compliqué de rajouter çà en php, il faudrait que les headers soient envoyés avant la page etc.

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”
Bon, je m'y suis attaqué, (au passage merci martin pour l'excellent lien
).
C'est donc toujours visible sur http://extensions.geckozone.org/tests/Adblock.htm et le script est toujours à l'adresse http://extensions.geckozone.org/tests/A ... omments.js (c'est toujours bon de le repréciser).
Comme vous vous en doutez... je n'arrive pas à le faire marcher
Visiblement le cookie est bien stocké, pour ça pas de problèmes, c'est déjà ça
Par contre il n'a pas l'air d'avoir d'effet au démarrage. Les commentaires sont toujours cachés, même si je n'appelle la fonction pour les cacher que si (contenuCookie==false)
(visiblement la variable est pourtant bien juste...)
Quelqu'un a une idée pourquoi ?

C'est donc toujours visible sur http://extensions.geckozone.org/tests/Adblock.htm et le script est toujours à l'adresse http://extensions.geckozone.org/tests/A ... omments.js (c'est toujours bon de le repréciser).
Comme vous vous en doutez... je n'arrive pas à le faire marcher

Visiblement le cookie est bien stocké, pour ça pas de problèmes, c'est déjà ça

Par contre il n'a pas l'air d'avoir d'effet au démarrage. Les commentaires sont toujours cachés, même si je n'appelle la fonction pour les cacher que si (contenuCookie==false)

Quelqu'un a une idée pourquoi ?
-
- Lézard vert
- Messages : 194
- Inscription : 13 nov. 2004, 08:54
J'ai jeté un oeil rapide, à la fois sur la page Html et sur le JS... et je n'ai rien compris :
-1- où est le lien vers le js dans ton Html ?
-2- avec quoi gères-tu ton cookie (écriture, lecture, traitement) ?
Ca fait longtemps que j'utilise des cookies heu... sous IE... mais je suppose que ça fonctionne sous FF... voici mes scripts
MetCookie(nom, valeur, duree, chemin, domaine, securise)
Ecrit un cookie contenant une variable nom valant valeur avec une durée de vie duree (en minutes, 1 mn par défaut) ainsi que d'autres paramètres facultatifs...
LitCookie(nom)
Lit la valeur de la variable nom contenue dans le cookie (retourne une chaine vide si le cookie n'existe pas...).
Des fois que ça réponde à ta question...
-1- où est le lien vers le js dans ton Html ?
-2- avec quoi gères-tu ton cookie (écriture, lecture, traitement) ?
Ca fait longtemps que j'utilise des cookies heu... sous IE... mais je suppose que ça fonctionne sous FF... voici mes scripts
Code : Tout sélectionner
function MetCookie(nom, valeur, duree, chemin, domaine, securise) {
if (duree==null) duree=1;
var D=new Date();
D.setTime(D.getTime() + (duree * 60 * 1000));
document.cookie= nom + "=" + escape (valeur) + "; expires=" + D.toGMTString() +
((chemin) ? "; path=" + chemin : "") +
((domaine) ? "; domain=" + domaine : "") +
((securise) ? "; secure=" + securise : "");
}
function LitCookie(nom) {
var L = document.cookie.length;
var N = nom + "=";
var Z = N.length;
var F = "";
var R = "";
if (document.cookie.indexOf(N) > -1) {
F = document.cookie.substring(document.cookie.indexOf(N) + Z);
R = F.substring (0, ((F.indexOf (";") > -1) ? F.indexOf (";") : L));
return unescape(R);
}
else {return ("")}
}
Ecrit un cookie contenant une variable nom valant valeur avec une durée de vie duree (en minutes, 1 mn par défaut) ainsi que d'autres paramètres facultatifs...
LitCookie(nom)
Lit la valeur de la variable nom contenue dans le cookie (retourne une chaine vide si le cookie n'existe pas...).
Des fois que ça réponde à ta question...
Bienheureux les fêlés car ils laissent passer la lumière...
Juste avant le début des commentaires, ça permets de l'insérer seulement sur les pages avec des commentaires et d'éviter son exécution ailleurs sur des pages où ce ne serait pas nécessaire.Mirovinben a écrit :-1- où est le lien vers le js dans ton Html ?
Dans le script dont j'ai donné l'adresse plus haut.Mirovinben a écrit :-2- avec quoi gères-tu ton cookie (écriture, lecture, traitement) ?
http://extensions.geckozone.org/tests/A ... omments.js
Visiblement le problème ne vient pas du cookie mais de son utilisation

Merci de t'occuper de moi

-
- Lézard vert
- Messages : 194
- Inscription : 13 nov. 2004, 08:54
Ben c'est la première fois que je vois un lien vers un javascript externe en plein milieu du hachteumeuleu... Ce n'est pas bloquant en effet mais je m'attendais à le trouver avant le <body>.... Du coup j'y suis retourné en lançant une recherche du mot "javascript" et je l'ai localisé en effet en plein "corps"calimo a écrit :Juste avant le début des commentaires, ça permets de l'insérer seulement sur les pages avec des commentaires et d'éviter son exécution ailleurs sur des pages où ce ne serait pas nécessaire.Mirovinben a écrit :-1- où est le lien vers le js dans ton Html ?
Je l'avais consulté... et j'ai recommencé après ta réponse : je ne suis pas tombé sur le même source que ce coup-ci !!!!!! Un clic un peu trop rapide ? une souris qui n'en fait qu'à sa tête ? Désolé !calimo a écrit :Dans le script dont j'ai donné l'adresse plus haut.Mirovinben a écrit :-2- avec quoi gères-tu ton cookie (écriture, lecture, traitement) ?
http://extensions.geckozone.org/tests/A ... omments.js

Bienheureux les fêlés car ils laissent passer la lumière...
A vue de pif, j'ai regardé ultra rapidement, change :
par
même erreur que précedement 
Code : Tout sélectionner
if (contenuCookie==false) {
switchComments;
}
Code : Tout sélectionner
if (contenuCookie==false) {
switchComments();
}

Toujours un coup d'oeil ultra rapide (désolé), essaie de changer :
par
le contenu d'un cookie est du texte, peut être que javascript ne fait pas le transtypage sur ce coup ...
Code : Tout sélectionner
if (contenuCookie==false)
Code : Tout sélectionner
if (contenuCookie=='false')
C'était bien ça ! Alors là chapeau, je n'aurais jamais trouvé tout seul
Bon, en fait il fallait mettreJe vais pouvoir mettre ça par défaut sur le site maintenant. Juste avant, ça marche bien chez tout le monde et personne ne voit de bugs ?
Merci infiniment 8)
Edit : j'ai rien dit, c'est bien (contenuCookie=='false') qu'il faut, je ne sais pas pourquoi j'avais un class="commentHidden" dans mon code HTMl, probablement parce qu'à l'enregistrement il était fermé...

Bon, en fait il fallait mettre
Code : Tout sélectionner
if (contenuCookie=='true') {
switchComments();
}
Merci infiniment 8)
Edit : j'ai rien dit, c'est bien (contenuCookie=='false') qu'il faut, je ne sais pas pourquoi j'avais un class="commentHidden" dans mon code HTMl, probablement parce qu'à l'enregistrement il était fermé...
Qui est en ligne ?
Utilisateurs parcourant ce forum : Semrush [Bot] et 2 invités