Astuces du SpeeDEricH.com

INITIATION AU JAVA SCRIPTJAVA SpeeDEricH.com

DES RÉPONSES !

Il t'arrivera sûrement qu'après une modification (correction?) de ton script, aucun changement ne soit visible à l'écran après avoir fait "Reload" ou "Actualiser". - Vérifie bien si tu as enregistré tes modifications (cela arrive même aux meilleurs). - Il faut parfois recharger plus profondément ta page en faisant Shift + Reload (sous Netscape) ou clique dans la zone de localisation du browser et fait Enter. Microsoft Explorer 3.0 supporte une forme de Javascript. Microsoft a implanté le langage Javascript séparément et indépendamment de Netscape. Internet Explorer "comprend" le code Javascript, mais son implémentation n'est pas complète. Il faut garder cela à l'esprit lorsque on veut écrire du code Javascript qui doit fonctionner à la fois sous Netscape et Explorer 3.0. Ton code Javascript sous Explorer doit : - impérativement être du Javascript 1.0. Toutes les fonctions Javascript 1.1, si familières pour Netscape 3, entraîneront des messages d'erreur. - ne pas faire appel à des applications Javascript sophistiquées. - s'armer de patience car certains codes Javascript élémentaires fonctionnant à merveille sous Netscape, devront être réécrits avec une syntaxe plus stricte. Pour corser le tout, Microsoft conscient des lacunes de son browser, a sorti une évolution de son interpréteur Javascript. On voit ainsi apparaître fin 97, une JScript.dll version 2. Celle-ci apporte une meilleure compatibilité avec Netscape 3 (comme les objets Array (les tableaux)). Comprendre Explorer 3.0 et Javascript n'était déjà pas simple mais nous voilà maintenant avec du Javascript sous Explorer 3.0 avec la JScript.dll version 1 et la JScript.dll version 2! Quel plaisir ... Pour Microsoft Explorer 4.0, celui-ci adhère strictement au standard appelé ECMAScript, qui couvre essentiellement la version Javascript 1.1. A ce jour il est encore un peu tôt pour se faire une idée précise mais il est déjà évident que Microsoft Explorer 4.0 intègre beaucoup mieux (ou très bien ?) le Javascript et Microsoft Explorer 5.0 permet tous les espoirs ...
Mon script ne fonctionne pas dans un tableau !
Javascript dans des tableaux, ce n'est pas une histoire d'amour. On recommande dans la littérature de ne pas placer de tag <SCRIPT> dans des balises <TD> mais plutôt de commencer le tag <SCRIPT> avant le tag <TD> et d'écrire le tag <TD> jusqu'au tag </TD> par une écriture document.write. Et même, pour être sur de son coup, d'écrire tout la tableau avec le document.write. Ce qui donnerait :
<SCRIPT LANGUAGE="Javascript">
<!--
document.write("<TABLE BORDER=1>");
document.write("<TR>");
document.write("<TD>");
document.write("votre texte");
document.write("</TD>");
document.write("<TD>");
document.write("votre texte");
document.write("</TD>");
document.write("</TR>");
document.write("</TABLE>");
//-->
</SCRIPT>
En conclusion, au niveau débutant, évite de mettre du Javascript dans des tableaux. J'ajoute qu'il n'y a pas de problèmes pour les formulaires.
Mais est-ce vraiment du Javascript?...
Adapter le script selon le browser du lecteur : 
avec les méthodes et propriétés de l'objet navigator (voir ce chapitre), il y aura moyen de détecter le type et la version du browser. Ce qui sera très utile pour adapter tes scripts au browser et à la version de celui-ci. La compatibilité des pages Javascript avec les différents types et versions en circulation pose vraiment problème. A l'avenir, on peut espérer une mutation rapide vers Explorer 4 ou 5 pour les partisans de Microsoft et l'abandon progressif de Netscape 2.0 et 3.0 pour des versions plus récentes. Ce qui simplifiera grandement la situation. Si tu n'es pas obnubilé par la compatibilité de tes pages de script (et les messages d'erreurs qui risquent d'apparaître), il faut néanmoins être sympa et avertir tes lecteurs. Ainsi, le petit script suivant informe les utilisateurs de Explorer 3.0 qu'ils risquent de rencontrer quelques désagréments.
<SCRIPT LANGUAGE = "JavaScript">
<!--
var name = navigator.appName ;
if (name == 'Microsoft Internet Explorer') {
document.write('Attention! Vous utilisez Microsoft Explorer 3.0.') <BR>');
document.write('Avec ce browser, certains scripts peuvent ne pas fonctionner correctement');
}
else { null }
//-->
</SCRIPT>
Pour des informations très complètes sur les différentes versions de Javascript, je ne peux que te conseiller vivement "JavaScript Object Road Map and Compatibility Guide", quatre feuillets que l'on peut télécharger sur le site de Danny Goodman ("La" référence !) à l'adresse www.dannyg.com.
Arrondir les nombres derrière la virgule : il arrive que Javascript t'affiche un résultat de division du type 1.599999999999999. Ce qui est assez disgracieux, j'en conviens. Parmi les différents systèmes possibles , je te propose celui-ci : variable= Math.round (variable*100)/100
Ainsi, 1.599999 est multiplié par 100 ce qui fait 159.9999. La méthode Math.round (159.9999) donne 160, qui divisé par 100 fait 1.60. Avec ...*100)/100, on obtient 2 chiffres après la virgule. Devine pour 3 chiffres après la virgule...
Comment lire et écrire des fichiers en Javascript ? il est impossible de lire un fichier ou d'écrire dans un fichier en Javascript. C'est sûrement très bien pour la sécurité de ton système mais c'est dommage pour, par exemple, l'exploitation d'une base de données.
Ciel ! On voit mes sources Javascript ................ e
t oui, par "View Document Source", le lecteur un peu initié pourra voir, étudier, copier tes sources Javascript. Il existe sur le net plusieurs petits programmes de codage des scripts, d'appels à des fichiers dissimulés, etc.
Je suis arrivé à la conclusion qu'aucun système ne pourra garantir une confidentialité absolue de tes scripts. Si pour les entreprises, cela peut être gênant pour des données sensibles (mais il y a alors d'autres techniques disponibles, je pense à du Java), pour les simples particuliers on peut se demander si cela a vraiment de l'importance... Ne serais-tu pas un peu paranoïaque ? Si oui, il y a toujours moyen de coder ton Javascript d'une façon (presque) incompréhensible pour le programmeur moyen.
Transmettre des variables d'une page à l'autre : tes variables sont définies dans le script de l'entité que constitue ta page Web. Tu peux souhaiter continuer à utiliser ces variables dans une autre page ou tout au long de ton site. Comment faire? La solution est d'utiliser des frames. Javascript permet de passer des variables d'un frame vers des objets appartenant à un autre frame. Et comme tous les browsers Javascript admettent des frames, pourquoi s'en priver.
Les boutons radio me renvoient l'ordre inverse : ce bug propre à Netscape 2 peut te jouer de grosses surprises par exemple dans un formulaire de commande utilisant des boutons radio. En effet si le bouton radio 1 d'une série de 3 est checked, c'est la valeur 3 qui est retournée. Pour toi, le client a commandé une chemise Large alors qu'il souhaitait du Small ! Pour corriger ce bug, il te suffit d'ajouter un gestionnaire d'événement vide à chaque contrôle de la série de boutons radio.
<FORM NAME="radioTest">
<INPUT TYPE="radio" NAME="test" VALUE="A" onClick="">A
<INPUT TYPE="radio" NAME="test" VALUE="B" onClick="">B
<INPUT TYPE="radio" NAME="test" VALUE="C" onClick="">C
</FORM>

Retour au Sommaire Javascript car c'est terminé !!!

ED   05/03/03
WebO
SpeeDEricH.com Nedstat Tu mesures ton audience ?