DEMANDE AUPRÈS DU VISITEUR QUAND IL QUITTE VOTRE SITE, ET REDIRECTION EN FONCTIO
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 2007
-
17 févr. 2006 à 09:52
The_magicien
Messages postés72Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention 8 février 2009
-
20 août 2006 à 01:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
The_magicien
Messages postés72Date d'inscriptionmardi 5 juillet 2005StatutMembreDernière intervention 8 février 2009 20 août 2006 à 01:59
Je le dis franchement, moi si je vois un script comme ça sur un site, je ferme direct!
Les visiteurs n'aiment pas quand des messages (type javascript ou autres pop-up) viennent les déranger... donc pour le code je dis, faut voir mais pas sur un "onLoad"!!!!!
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 21 févr. 2006 à 19:39
coté lisibilité, un bon colorateur synthaxique suffit, et habituez vous au futur du web...
kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010 21 févr. 2006 à 16:57
ok mindiell pas de soucis, juste ma façon de faire est compatible avec les 2, la tienne avec 1 seule (HTML 4.01)
NA !!! :-)
sinon pour l'auteur de ce script, ce qui est déprécié ne s'utilise pas, tout comme tu n'utiliseras pas une fonction PHP ou MySQL dépréciée, souvent remplacée par une autre plus "efficace" ou alors sur le même principe, tu n'utiliseras pas une fonction incompatible avec ta version de PHP par exemple (une fonction telle "date_default_timezone_get", tu ne l'utiliseras pas avec une version de PHP 4.3.11).................etc etc
:-)
Cordialement
kiki
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 21 févr. 2006 à 16:52
Ah ça, chacun voit midi à sa porte :-)
Et pour le <script> c'était juste dans le discussion ;-)
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 21 févr. 2006 à 16:33
Ah mais attention, j'ai jamais rien dit pour le <script>, j'en suis même pas l'auteur ;)
En ce qui concerne la compatibilité XHTML1.0 ou 1.1, je mets bien mon doctype HTML 4.01, donc de toute facon, un programme qui lit correctement mon fichier ne doit pas me dire que je fais pas bien, a la rigueur il le lira pas. Mais ce n'est pas mon souci aujourd'hui : je fais du HTML, pas du XML... ;)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 21 févr. 2006 à 15:58
La doc HTML pas la doc XHTML...
Et d'ailleurs, si tu regardes le source d'une des pages de la doc HTML 4.01, tu verras que les tags (et les attributs...mais il n'en a jamais été autrement, là) utilisés sont en minuscules, eux, malgré le doctype HTML 4.01 ;-)
Et puisqu'on est dans le respect des normes, même en HTML 4.01, l'élément script DOIT avoir un attribut type. Et son attribut language est déprécié, en faveur justement de l'attribut type.
Un extrait de la doc HTML 4.01 à ce propos :
18.2.1 The SCRIPT element
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
Start tag: required, End tag: required
Attribute definitions
src = uri [CT]
This attribute specifies the location of an external script.
type = content-type [CI]
This attribute specifies the scripting language of the element's contents and overrides the default scripting language. The scripting language is specified as a content type (e.g., "text/javascript"). Authors must supply a value for this attribute. There is no default value for this attribute.
language = cdata [CI]
Deprecated. This attribute specifies the scripting language of the contents of this element. Its value is an identifier for the language, but since these identifiers are not standard, this attribute has been deprecated in favor of type.
defer [CI]
When set, this boolean attribute provides a hint to the user agent that the script is not going to generate any document content (e.g., no "document.write" in javascript) and thus, the user agent can continue parsing and rendering.
kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010 21 févr. 2006 à 15:58
* oui mais un
toto
sera compatible XHTML1.0, XHTML1.1 ou HTML 4.01 que ce soit strict ou transitionnel
* alors que "ton"
tata
sera UNIQUEMENT compatible HTML 4.01 et NON XHTML
je sais ok, on chipote, on chipote mais bon, soit on est régulier soit on l'est pas
;)
kiki
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 21 févr. 2006 à 15:34
Hum, désolé, mais moi j'utilise le HTML 4.01 pour faire du web. Si tu va sur le site du W3C (http://www.w3.org/) tu verras que toute la doc utilise des tags en majuscules... ;)
kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010 21 févr. 2006 à 15:16
c une question de point de vue : non
c SURTOUT une question de respect des normes XHTML.
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 21 févr. 2006 à 15:00
Ben perso je mets les tags en majuscules, et les attributs, valeurs en minuscules :
Je me repère mieux dans mon code...
Mais bon, c'esst une question de point de vue, puisque c'est indifférent
kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010 21 févr. 2006 à 14:32
et finalement j'oubliais :
il faut arrêter de mettre les tag HTML en majuscules. Ou alors même principe que les ; :
soit tout le temps en majuscule (perso illisible) soit tout le temps en minuscule (que je ne peux que vivement conseiller)....
en tout cas, je lance le débat, si quelqu'un voulait bien me convaincre de mettre des majuscules aux tags HTML qui n'en ont pas besoin, cela m'aiderait à comprendre ça...
perso, vraiment, je ne vois pas
Re-cordialement
kiki2sirom
kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010 21 févr. 2006 à 14:19
Mindiell : le ; à la fin des instructions en javascript est facultatif.
par contre il est en effet préférable soit de mettre tout le temps des ; ou de ne jamais en mettre (perso j'en met, combinant avec PHP)
La norme est d'écrire <script type="text/javascript">, coucou747 se jette dessus d'habitude ;)
et non
<SCRIPT language="JavaScript">
de plus il est en effet, d'accord avec coucou747, plus "convenable" d'écrire :
if (confirm.....) PLUTÔT QUE if(!confirm.........) bien que les 2 marchent
pour éviter les erreurs : apprendre à débuguer et SURTOUT indenter son code.
Mais bon, il y a une idée, pourquoi pas.......
Cordialement
kiki2sirom
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 20 févr. 2006 à 02:44
ok, rajoute une "}"
après le "window.open(url);"
puisque le if en ouvre une, dans la fonction guest, mais il n'y en a qu'une à la fin pour la fonction ET le if...
dvdstory
Messages postés192Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention10 août 2009 20 févr. 2006 à 01:53
J'ai essayé avec le ; en + mais sa marche toujours pas.
Description de l'erreur par IE:
Ligne: 12
Car: 1
Erreur: "}" attendu
Code: 0
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 19 févr. 2006 à 22:10
Ca provoque quoi comme erreur ? Ca peut aider ^^
Sinon :
window.open(url);
sans ";" ca plante, forcément...
dvdstory
Messages postés192Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention10 août 2009 19 févr. 2006 à 18:42
J'ai fait ce que tu me dit et voila le code que sa donne mais sous IE et Firefox ce code provoque une erreur et donc ne s'éxécute pas.
<SCRIPT language="JavaScript">
function retour()
{
history.go(-1);
}
var url="http://vote.weborama.fr/fcgi-bin/vote.fcgi?215308";
function guest(){
if (confirm ("Voulez-vous voter pour UnrealNetwork.net, cela permettra de le faire conaître au plus grand nombre.")){
alert("Merci du soutien que vous nous accordez.");
window.open(url)
}
</SCRIPT>
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 18 févr. 2006 à 12:45
# if (!confirm ("Voulez-vous voter pour UnrealNetwork.net, cela permettra de le faire conaître au plus grand nombre.")){} <!--vous pouvez encore mettre un message entre ces crochets en cas de réponse négatve--!>
# else{alert("Merci du soutien que vous nous accordez.");window.open(url)}
# }
est à remaplacer par :
if (confirm ("Voulez-vous voter pour UnrealNetwork.net, cela permettra de le faire conaître au plus grand nombre.")){
alert("Merci du soutien que vous nous accordez.");
window.open(url)
}
ta variable url ne doit pas être globale ici... si tu as un autre script qui utilise ce nom, alors tu ne pourras pas faire fonctionner les deux scripts en même temps...
Bon, sinon, pourquoi pas...
dvdstory
Messages postés192Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention10 août 2009 17 févr. 2006 à 22:13
Ouais bon même si le visiteur ferme pas tout de suite la fenêtre. Il va bien devoir la fermer.
J'en conviens que l'utilisation du code n'est pas pratique, et si vous voulez l'amélioré j'en serais ravis. Et je ferais la mise-à-jour.
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 17 févr. 2006 à 17:19
Si, comme moi, l'utilisateur a l'habitude d'"Ouvrir le lien dans une nouvelle fenetre", pour conserver l'ancien site, ca marche pas non plus.
Non, non, désolé, mais il va en falloir plus pour convaincre ^^
dvdstory
Messages postés192Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention10 août 2009 17 févr. 2006 à 17:15
Ok mais moi je pensais surtout règler le probléme pour que quand on visiteur clic sur un lien, et dans ce cas la technique marche.
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 17 févr. 2006 à 17:08
Et si tu fais F5, ou Rafraichir, il te recharge l'index, donc la frame, et il te pose la question...
Non, désolé, mais je trouve pas ca efficace.
dvdstory
Messages postés192Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention10 août 2009 17 févr. 2006 à 16:52
Bas oui si tu change de page pour aller vers une autre page tu quitte l'ancienne page et si il y a le code dessu il t'affiche les message.
Mais si t'en veux pas qu'en tu change de page, tu mais une frame et tu met ce code dans l'index de la frame. Comme ça qu'en tu change de page et que tu est toujours dans l'index t'aura pas le message.
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 17 févr. 2006 à 09:52
Ca le fait a chaque fois qu'on recharge une page, non ?
20 août 2006 à 01:59
Les visiteurs n'aiment pas quand des messages (type javascript ou autres pop-up) viennent les déranger... donc pour le code je dis, faut voir mais pas sur un "onLoad"!!!!!
21 févr. 2006 à 19:39
21 févr. 2006 à 16:57
NA !!! :-)
sinon pour l'auteur de ce script, ce qui est déprécié ne s'utilise pas, tout comme tu n'utiliseras pas une fonction PHP ou MySQL dépréciée, souvent remplacée par une autre plus "efficace" ou alors sur le même principe, tu n'utiliseras pas une fonction incompatible avec ta version de PHP par exemple (une fonction telle "date_default_timezone_get", tu ne l'utiliseras pas avec une version de PHP 4.3.11).................etc etc
:-)
Cordialement
kiki
21 févr. 2006 à 16:52
Et pour le <script> c'était juste dans le discussion ;-)
21 févr. 2006 à 16:33
En ce qui concerne la compatibilité XHTML1.0 ou 1.1, je mets bien mon doctype HTML 4.01, donc de toute facon, un programme qui lit correctement mon fichier ne doit pas me dire que je fais pas bien, a la rigueur il le lira pas. Mais ce n'est pas mon souci aujourd'hui : je fais du HTML, pas du XML... ;)
21 févr. 2006 à 15:58
Et d'ailleurs, si tu regardes le source d'une des pages de la doc HTML 4.01, tu verras que les tags (et les attributs...mais il n'en a jamais été autrement, là) utilisés sont en minuscules, eux, malgré le doctype HTML 4.01 ;-)
Et puisqu'on est dans le respect des normes, même en HTML 4.01, l'élément script DOIT avoir un attribut type. Et son attribut language est déprécié, en faveur justement de l'attribut type.
Un extrait de la doc HTML 4.01 à ce propos :
18.2.1 The SCRIPT element
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
Start tag: required, End tag: required
Attribute definitions
src = uri [CT]
This attribute specifies the location of an external script.
type = content-type [CI]
This attribute specifies the scripting language of the element's contents and overrides the default scripting language. The scripting language is specified as a content type (e.g., "text/javascript"). Authors must supply a value for this attribute. There is no default value for this attribute.
language = cdata [CI]
Deprecated. This attribute specifies the scripting language of the contents of this element. Its value is an identifier for the language, but since these identifiers are not standard, this attribute has been deprecated in favor of type.
defer [CI]
When set, this boolean attribute provides a hint to the user agent that the script is not going to generate any document content (e.g., no "document.write" in javascript) and thus, the user agent can continue parsing and rendering.
http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT
:-)
21 févr. 2006 à 15:58
toto
sera compatible XHTML1.0, XHTML1.1 ou HTML 4.01 que ce soit strict ou transitionnel
* alors que "ton"
tata
sera UNIQUEMENT compatible HTML 4.01 et NON XHTML
je sais ok, on chipote, on chipote mais bon, soit on est régulier soit on l'est pas
;)
kiki
21 févr. 2006 à 15:34
21 févr. 2006 à 15:16
c SURTOUT une question de respect des normes XHTML.
tu peux aller voir là entre autres : http://cyberzoide.developpez.com/html/xhtml.php3
kiki2sirom
21 févr. 2006 à 15:00
Je me repère mieux dans mon code...
Mais bon, c'esst une question de point de vue, puisque c'est indifférent
21 févr. 2006 à 14:32
il faut arrêter de mettre les tag HTML en majuscules. Ou alors même principe que les ; :
soit tout le temps en majuscule (perso illisible) soit tout le temps en minuscule (que je ne peux que vivement conseiller)....
en tout cas, je lance le débat, si quelqu'un voulait bien me convaincre de mettre des majuscules aux tags HTML qui n'en ont pas besoin, cela m'aiderait à comprendre ça...
perso, vraiment, je ne vois pas
Re-cordialement
kiki2sirom
21 févr. 2006 à 14:19
par contre il est en effet préférable soit de mettre tout le temps des ; ou de ne jamais en mettre (perso j'en met, combinant avec PHP)
La norme est d'écrire <script type="text/javascript">, coucou747 se jette dessus d'habitude ;)
et non
<SCRIPT language="JavaScript">
de plus il est en effet, d'accord avec coucou747, plus "convenable" d'écrire :
if (confirm.....) PLUTÔT QUE if(!confirm.........) bien que les 2 marchent
pour éviter les erreurs : apprendre à débuguer et SURTOUT indenter son code.
Mais bon, il y a une idée, pourquoi pas.......
Cordialement
kiki2sirom
20 févr. 2006 à 02:44
après le "window.open(url);"
puisque le if en ouvre une, dans la fonction guest, mais il n'y en a qu'une à la fin pour la fonction ET le if...
20 févr. 2006 à 01:53
Description de l'erreur par IE:
Ligne: 12
Car: 1
Erreur: "}" attendu
Code: 0
19 févr. 2006 à 22:10
Sinon :
window.open(url);
sans ";" ca plante, forcément...
19 févr. 2006 à 18:42
<SCRIPT language="JavaScript">
function retour()
{
history.go(-1);
}
var url="http://vote.weborama.fr/fcgi-bin/vote.fcgi?215308";
function guest(){
if (confirm ("Voulez-vous voter pour UnrealNetwork.net, cela permettra de le faire conaître au plus grand nombre.")){
alert("Merci du soutien que vous nous accordez.");
window.open(url)
}
</SCRIPT>
18 févr. 2006 à 12:45
# else{alert("Merci du soutien que vous nous accordez.");window.open(url)}
# }
est à remaplacer par :
if (confirm ("Voulez-vous voter pour UnrealNetwork.net, cela permettra de le faire conaître au plus grand nombre.")){
alert("Merci du soutien que vous nous accordez.");
window.open(url)
}
ta variable url ne doit pas être globale ici... si tu as un autre script qui utilise ce nom, alors tu ne pourras pas faire fonctionner les deux scripts en même temps...
Bon, sinon, pourquoi pas...
17 févr. 2006 à 22:13
J'en conviens que l'utilisation du code n'est pas pratique, et si vous voulez l'amélioré j'en serais ravis. Et je ferais la mise-à-jour.
17 févr. 2006 à 17:19
Non, non, désolé, mais il va en falloir plus pour convaincre ^^
17 févr. 2006 à 17:15
17 févr. 2006 à 17:08
Non, désolé, mais je trouve pas ca efficace.
17 févr. 2006 à 16:52
Mais si t'en veux pas qu'en tu change de page, tu mais une frame et tu met ce code dans l'index de la frame. Comme ça qu'en tu change de page et que tu est toujours dans l'index t'aura pas le message.
17 févr. 2006 à 09:52