Javascript de Client-côté

le Client-côté de que le Javascript ( CSJS ) est le Javascript qui fonctionne sur le Client-côté , c. le web browser de , par conséquent est pour le Client-côté de scripting . Tandis que le Javascript était à l'origine créé pour fonctionner sur le client-côté, cette limite a été inventée parce que la langue n'est plus juste client-côté limité, par exemple le Javascript (SSJ) de Serveur-côté de est également disponible.

Environnement

Le type de supports d'Internet pour le code source de Javascript est application/javascript, mais le text/javascript non inscrit est généralement employé.

Pour inclure le code de Javascript dans un document de HTML , il doit être précédé avec : < ; type=" de manuscrit ; texte/javascript" ; > ;

et suivi avec : < ; /script> ;

Des navigateurs plus âgés exigent typiquement du Javascript de commencer par : < ; language=" de manuscrit ; JavaScript" ; type=" ; texte/javascript" ; > ; < ; ! -- et extrémité avec : // --> ; < ; /script> ;

Le < ; ! -- de …--> ; le marge bénéficiaire bénéficiaire de commentaire de est exigé afin de s'assurer que le code n'est pas rendu comme texte par les navigateurs très vieux qui n'identifient pas le < ; script> ; l'étiquette de dans des documents de HTML, et l'attribut de LANGUE est un attribut de HTML de désapprouvé par qui peut être exigé pour de vieux navigateurs. Cependant, < ; script> ; les étiquettes dans des documents du XHTML / XML ne fonctionneront pas si commentées dehors, comme les analyseurs conformant de XHTML/XML ignorent des commentaires et peuvent également rencontrer des problèmes avec le --, < ; et > ; signe scripts dedans (par exemple, l'opérateur de décroissance de nombre entier et les opérateurs de comparaison). Les documents de XHTML devraient donc avoir des manuscrits inclus en tant que sections du CDATA de XML, en les précédant avec < ; type=" de manuscrit ; texte/javascript" ; > ; //< ; ! et les suivant avec > de //]] ; < ; /script> ;

(La double-barre oblique // d'A au début d'une ligne marque un commentaire de Javascript, qui empêche le < ; ! et > de ] ; de l'analyse par le manuscrit.)

La manière la plus facile d'éviter ce problème (et également comme pratiques) est d'employer le manuscrit externe, par exemple : < ; type=" de manuscrit ; texte/javascript" ; src=" ; hello.js" ; > ; < ; /script> ;

Historiquement, un attribut (non-W3C) non standard language est employé dans le contexte suivant :

< ; language=" de manuscrit ; JavaScript" ; src=" ; hello.js" ; > ; < ; /script> ;

Les éléments de HTML peuvent contenir les événements intrinsèques auxquels vous pouvez associer un traiteur de manuscrit. Pour écrire HTML valide 4.01, le web server devrait renvoyer un « Contenu-Manuscrit-Type » avec la valeur « texte/Javascript ». Si le web server ne peut pas être ainsi configuré, l'auteur de site Web peut sur option insérer la déclaration suivante pour la langue scripting de défaut dans la section d'en-tête du document.

< ; http-equiv=" de méta ; Contenu-Manuscrit-Type" ; content=" ; texte/javascript" ; />

Bonjour exemple du monde

Pour une explication de la tradition du " de programmation ; Bonjour World" ; , aussi bien que des solutions de rechange à cet exemple le plus simple, voir le programme du monde de bonjour.

C'est la méthode la plus facile pour bonjour un programme du monde qui implique d'employer l'appui des navigateurs populaires pour que le protocole virtuel de « Javascript » exécute le code de Javascript. Entrer dans le suivant comme internet address (habituellement par l'empâtage dans la boîte d'adresse) :

Javascript : alerte (« bonjour, monde ! ") ;

C'est le résultat :

Lier des DOM

Interaction d'utilisateur

La plupart d'interaction avec l'utilisateur est faite en employant les formes de HTML qui peuvent être accédées par les DOM de HTML. De quelque manière qu'il y a également quelques moyens très simples de la communication avec l'utilisateur :
Zone de dialogue alerte
Confirmer la zone de dialogue , zone de dialogue prompt
Barre de statut
Console

Événements

Les noeuds d'élément peuvent être la source des divers événements qui peuvent causer une action si un traiteur d'événement de de Javascript est enregistré. Ces fonctions de traiteur d'événement sont souvent définies en tant que fonctions anonymes directement dans le noeud d'élément.

Voir également les événements des DOM de et les événements du XML.

Incompatibilités

Note de : La plupart des incompatibilités de ne sont pas des issues de Javascript mais détail du modèle d'objet de document (les DOM). Les réalisations de Javascript des navigateurs de Web les plus populaires adhèrent habituellement à la norme d'ECMAScript , telle que la plupart des incompatibilites font partie de l'exécution des DOM. Quelques issues d'incompatibilité qui existent à travers des réalisations de Javascript incluent la manipulation de certaines valeurs primitives comme le " ; undefined" ; , et la disponibilité des méthodes présentées dans des versions postérieures d'ECMAScript, telles que le .sh (), et méthodes de .unshift () de rangées.

Le Javascript, comme le HTML, n'est souvent pas conforme aux normes, au lieu de cela n'est pas construit pour travailler avec les navigateurs spécifiques de Web. La norme courante d'ECMAScript devrait être la base pour toutes les réalisations de Javascript dans la théorie, mais dans la pratique le famille de Mozilla des navigateurs ( Mozilla , Firefox et Netscape Navigator ) JScript emploient de du Javascript , du Microsoft Internet Explorer utilisations, et d'autres navigateurs tels que l'opéra et le safari emploient d'autres réalisations d'ECMAScript de , souvent avec les propriétés non standard additionnelles pour permettre la compatibilité avec le Javascript et le JScript.

Le Javascript et le JScript contiennent plusieurs propriétés qui ne sont pas une partie de la norme officielle d'ECMAScript, et peuvent également manquer plusieurs propriétés. En soi, ils sont aux points incompatibles, qui exige des auteurs de manuscrit de travailler autour de ces bogues. Le Javascript est plus standards-compliant que le Microsoft 's JScript, ainsi il signifie qu'un dossier de manuscrit écrit selon les normes d'ECMA est moins pour travailler aux navigateurs basés sur Internet Explorer. Cependant, puisqu'il y a relativement peu de points de nonconformité, c'est très peu probable.

Ceci signifie également que chaque navigateur peut traiter le même manuscrit différemment, et quels travaux pour un navigateur peuvent échouer en un autre navigateur, ou même dans une version différente du même navigateur. Comme avec le HTML, il est ainsi recommandé d'écrire le code standards-compliant.

Incompatibilités de combat

Il y a deux techniques primaires pour manipuler des incompatibilités : le navigateur de reniflant et le objectent la détection . Quand il y avait seulement deux navigateurs qui ont eu des possibilités scripting (Netscape et Internet Explorer), le reniflement de navigateur était la technique la plus populaire. En examinant un certain nombre de " ; client" ; des propriétés, cette information renvoyée sur la plate-forme d'ordinateur, navigateur, et des versions, il était possible que un code des scripter discerne exactement que le navigateur le code était exécuté dedans. Plus tard, il est devenu plus difficile mettre en application les techniques pour le reniflant , pendant qu'Internet Explorer commençait au " ; spoof" ; son information de client, c., pour fournir les informations de navigateur qui étaient de plus en plus imprécises (les raisons pour lesquelles Microsoft a fait ceci sont souvent contestées). Plus tard toujours, le reniflement de navigateur est devenu quelque chose d'un formulaire d'art difficile, pendant que d'autres navigateurs scriptable venaient sur le marché, chacun avec sa propre plate-forme, client, et de l'information de version.

La détection d'objet se fonde sur déterminer l'existence d'une propriété d'un objet.

lang=" de set_image_source de fonction (imageName, imageURL) { si (document.images) // un essai pour discerner si l'objet de « document » a une propriété appelée les « images » { document.src = imageURL ; // s'est seulement exécuté s'il y a une rangée de « images » } }

Un exemple plus complexe se fonde sur employer les essais booléens jointifs : lang=" de si (&& document.body) Dans ce qui précède, le " de rapport ; document.style" ; causerait d'habitude une erreur dans un navigateur qui n'a pas un " ; document.body" ; propriété, mais utilisation du " d'opérateur booléen ; &&" ; assure ce " ; document.style" ; ne s'appelle jamais si " ; document.body" ; n'existe pas. Cette technique s'appelle l'évaluation minimale .

Aujourd'hui, une combinaison du reniflement de navigateur, la détection d'objet, et la confiance dans des normes telles que les feuilles de modèle de cascade de spécifications et de d'ECMAScript tout sont employées à divers degrés pour essayer de s'assurer qu'un utilisateur ne voit jamais un message d'erreur de Javascript.

Cadres

voient également :

la bibliothèque de Javascript de Certains des cadres de Javascript sont :
AJILE
Backbase
Trousse à outils de Dojo de
JavaScriptCore , à partir de l'ordinateur Apple De .
JQuery
PowerForms , du BRICS (recherche fondamentale dans de l'informatique).
Prototype
MooTools
Yahoo! Bibliothèque d'UI, de Yahoo! .

Voir également

Bookmarklet

.

Random links:Badenoch | Avocats et défenseurs gais et de lesbienne | Un grand ne vient pas pour libre | Mesure (étoile de pornographie) | Hosuke Sharaku | Javascript_del_Cliente-lado