DEMANDE AUPRÈS DU VISITEUR QUAND IL QUITTE VOTRE SITE, ET REDIRECTION EN FONCTIO

Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 - 17 févr. 2006 à 09:52
The_magicien Messages postés 72 Date d'inscription mardi 5 juillet 2005 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/36098-demande-aupres-du-visiteur-quand-il-quitte-votre-site-et-redirection-en-fonction-de-sa-reponse

The_magicien Messages postés 72 Date d'inscription mardi 5 juillet 2005 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 févr. 2006 à 19:39
coté lisibilité, un bon colorateur synthaxique suffit, et habituez vous au futur du web...
kiki2sirom Messages postés 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 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és 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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és 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
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és 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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.


http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT
:-)
kiki2sirom Messages postés 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 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és 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
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és 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 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.

tu peux aller voir là entre autres : http://cyberzoide.developpez.com/html/xhtml.php3

kiki2sirom
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
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és 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 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és 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 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és 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
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és 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 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és 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
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és 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 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és 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
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és 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 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és 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
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és 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 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és 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
17 févr. 2006 à 09:52
Ca le fait a chaque fois qu'on recharge une page, non ?
Rejoignez-nous