- · Niveau : INTERMÉDIAIRE
- · Compatibilité : Serveur IIS 3+
Il arrive parfois que le Javascript est plus adapté que le ASP pour effectuer un processus. Manipuler une valeur en Javascript pour ensuite la récupérer en ASP est possible en exécutant un script Javascript sur le serveur. C’est à dire que le script Javascript n’est pas interprété par le client, en d’autres mots le navigateur de votre visiteur.
Sur le serveur parce que le ASP est déjà interprété quand le navigateur du visiteur charge la page. Donc le Javascript doit lui aussi être exécuté par le serveur pour transmettre une valeur à un script ASP. Pour ce faire vous devez tout simplement ajouter au bout de la balise SCRIPT la mention « runat=server ».
Ex : <script type="text/javascript" language=" javascript1.2" runat=server />
Il ne vous reste qu’à créer une fonction qui retourne une valeur qui sera ensuite récupérée par le ASP.
Ex :
<%
nStr = Bonjour()
%>
<script type="text/javascript" language=" javascript1.2" runat="server">
function Bonjour(){
var str = "Bonjour le Monde";
return str;
}
</script>
<html>
<body>
<%=nStr%>
…
La page sera traitée par le moteur ASP qui lui fera appelle au moteur Javascript pour déterminer la valeur de « nStr ». La page sera ensuite envoyée au navigateur du client avec le texte « Bonjour le monde ». C’est donc dire que le visiteur ne verra pas le code Javascript... Ce peut donc être aussi pratique pour cacher votre code Javascript.
MAIS ATTENTION, ce n’est pas tout le Javascript qui peut être exécuté sur le serveur. Les propriété Javascript client comme le nom du Navigateur « navigator.appName » ou les évènements « onmouseover » ne sont pas accessible par le serveur. L’avantage premier du Javascript, à savoir l’interprétation par la navigateur client, n’est donc pas exploité. D’ailleurs, le moteur Javascript du serveur risque de surchauffer si cette fonctionnalité n’est pas usée avec parcimonie.
Ce script montre le principe. Le ASP peut bien sûr afficher « Bonjour le monde » sans Javascript. Par contre, le Javascript permet de manipuler les chaînes de caractères et particulièrement les expressions régulières de façon très efficace.