Home |
---|
Ajouter de la logique programmable aux pages Web.
JavaScript est un langage interprété.
Il est exécuté :
JavaScript peut être utilisé en mode procédural mais supporte une notation OO permettant de créer des classes d'objets dynamiquement.
Sa syntaxe s'inspire de celle du langage Java (d'où son nom), mais c'est là leur seul point commun.
Cependant, intégré dans une page HTML, il apparaît :
script
. On place alors généralement le contenu entre ces balises dans un commentaire, afin d'éviter qu'il soit affiché dans la page du client si son navigateur ne supporte pas cette balise.Un exemple de code JavaScript est :
document.write ("Hello World !");
Intégré dans page HTML, il apparaît comme suit :
<html>
<head>
<title>Page contenant un exemple de JavaScript</title>
<head>
<body>
Voici un exemple de code JavaScript :
<script language="JavaScript">
<!--
document.write ("Hello World
!");
-->
</script>
</body>
</html>
Version | 1 | Commentaires | ||||
---|---|---|---|---|---|---|
Release | 0 | 1 | 2 | |||
Domaine | Produit | Service Pack | ||||
Navigateur Web | Netscape Navigator | 2.0 | Oui | Non | ||
3.0 | Obsolète | Oui | Non | |||
4.0 | Obsolète | Oui | ||||
MSIE | 3.0 | Oui | Non | |||
4.0 | Obsolète | Oui | Non |
<html>
<head><title>Detecteur JavaScript pour navigateur</title>
<script language="JavaScript">
<!--
ver = 10;
//-->
</script>
<script language="JavaScript1.1">
<!--
ver = 11;
//-->
</script>
<script language="JavaScript1.2">
<!--
ver = 12;
//-->
</script>
<script language="JavaScript">
<!--
function nextPage()
{
// Si le navigateur est de type 4.0 on utilise latestver.html
if (navigator.userAgent.indexOf ("4.0") >= 0) {
window.location = "latestver.html";
}
else if (ver >= 11) { // Sinon on regarde s'il ont JavaScript 1.1 avant d'utiliser newver.html
{
window.location = "newver.html";
}
else // Par défaut on choisit oldver.html pour tous les autres.
{
window.location = "oldver.html";
}
}
// -->
</script>
</head>
<body>
<!-- Met oldver.html sur le lien pour les navigateurs qui n'ont pas JavaScript -->
<a href="oldver.html" onClick="nextPage(); return false;">mon lien</a>
</body>
</html>
window.open("http://www.javarome.net")
La communication entre JavaScript et une applet Java est possible grâce à LiveConnect, qui est automatiquement fournit à partir de Netscape Navigator 3.0 et activé par la double activation de Java et JavaScript dans la configuration du navigateur.
Une applet ne peut accéder à JavaScript et les objets que si
elle importe le package netscape.javascript
qui définit
les classes JSObject
et JSException
:
import netscape.javascript.*;
java_30
, généralement
situé dans le sous-répertoire Program\java\classes
du
navigateur. Ce répertoire doit donc être ajouté au CLASSPATH
lors de la compilation de l'applet)
De l'autre côté, le document HTML intégrant cette applet
doit autoriser celle-ci à communiquer avec JavaScript grâce au
paramètre mayscript
du tag <applet>
. Par exemple
:
<applet code="monApplet.class" width=100 height=100 mayscript></applet>
La classe Java JSObject permet alors d'accéder aux objets JavaScript de la page, à commencer par l'objet window, récupérable à l'aide de la fonction getWindow() :
JSObject win = JSObject.getWindow (this);
Tout sous-objet ou propriété peut ensuite être accédé via la fonction getMember(nomObjet). Par exemple :
JSObject doc
= (JSObject) win.getMember ("document");
JSObject formulaire = (JSObject) doc.getMember ("testForm");
JSObject caseACocher = (JSObject) formulaire.getMember ("testCheck");
Boolean estCochee = (Boolean) caseACocher.getMember
("checked");
Les méthodes JavaScript, qu'elles soit utilisateur ou système,
peuvent alors être appelées de deux manières différentes.
Soit via la méthode call()
de la classe JSObject
, en
passant en paramètres le nom de la méthode et un tableau de ses
arguments (ne pouvant pas être null
mais pouvant contenir une
chaîne vide) :
String arguments[] = {"premierArg", "secondArg"};
win.call ("nomMethode", arguments);
soit via la méthode eval() de cette classe, qui reçoit en paramètre une chaîne JavaScript à exécuter. Par exemple :
win.eval ("nomMethode(" + premierArg + "," + secondArg + ")");
Connaître le navigateur utilisé pour lire votre page
navigator.appName
donne le nom du navigateurnavigator.appVersion
donne la version du navigateurLa communication entre JavaScript et une applet Java est possible grâce à LiveConnect, qui est automatiquement fournit à partir de Netscape 3.0 et activé par la double activation de Java et JavaScript dans la configuration du navigateur.
Les packages et classes Java font alors partie pour JavaScript de l'objet
Packages
. On peut alors appeler la méthode d'une classe Java
selon la syntaxe suivante :
Packages.nomPackage.nomClasse.nomMéthode(paramètres)
(A noter que les alias java
, sun
et netscape
désignent
respectivement Packages.java
, Packages.sun
et Packages.netscape
).
Les applets Java présentes dans un document sont alors référençables à partir de l'objet document, selon les syntaxes suivantes, au choix :
document.nomApplet
document.applets[nomApplet]
(nomApplet
étant attribué par le paramètre name
de l'applet)
document.applets[indexApplet]
Voici un l'exemple d'une applet affichant le nombre de clics effectués
sur sa surface depuis sa création (essayez donc) :
Il est possible dans cet exemple pour JavaScript de communiquer avec l'applet,
dans un sens (ajouter un clic à l'applet, fixer le nouveau nombre de
clics de l'applet) comme dans l'autre (lire le nombre de clics de l'applet),
comme le montrent les boutons suivants :
Un cookie est une chaîne de caractères de la forme :
nom
=valeur;expires=dateExpiration;
document.cookie
.
L'écriture d'un cookie peut s'effectuer par...
Home |
---|