info2gestion

MENU3

Accueil>

JavaScript

L'insertion de script dans le navigateur

Les programmes javascript peuvent ĂȘtre insĂ©rĂ©s n'importe oĂč dans un document HTML avec la balise <script>. La balise avec l'attribut text/javascript <script type="text/javascript"> peut Ă©galement s'appliquer.

Les fichiers externes peuvent ĂȘtre appelĂ©s avec la balise
<script src="vers/dossier/js">.

Les fichiers externes peuvent ĂȘtre des scripts stockĂ©s sur le serveur local ou se trouve le fichier html ou sur un serveur distant. Les fichiers dits externes sont des liens CDN (Content Delivery Network) vers des serveurs distants et concernent souvent des librairies pour les feuilles de styles ou des librairies de fonctions javascripts.

Concernant les liens externes et notamment les liens CDN, ces liens peuvent ĂȘtre exposĂ©s Ă  des risques de sĂ©curitĂ©s spĂ©cifiques Ă  l'utilisation de ce type de fichiers. En effet, il n'est pas toujours sĂ»re que le serveur distant est sĂ©curisĂ©.

Exemple d'un lien CDN sécurisé avec sha256
<script src="scripts/fichier.js" integrity="sha256-o88AwQQ...=" crossorigin="anonymous">

sha256 est une mesure de sécurité qui assure que le fichier n'a pas été modifié...

Insérer un script externe offre l'avantage de télécharger le contenu de ce script dans la mémoire cache du navigateur ce qui réduit le débit des données reçues. Pour des scripts longs et compliqués, la page web peut s'afficher plus vite notamment si ces scripts font appel à des éléments du document.

Les modules javascript sont des fichiers qui contiennent une partie d'un projet et qui Ă©vitent pour des gros projets d'ĂȘtre volumineux. Ces modules sont appelĂ©s avec les mots clĂ©s import et export.

Dans l'utilisation combinée d'un script et d'un fichier externe, c'est le fichier externe qui sera exécuté et le contenu de la balise dans le document sera ignoré, exemple: <script src="script/externe">alert(1)</script>.

La position d'un script ou d'un fichier externe dans la structure (le DOM) peut avoir une importance selon les fonctions et les librairies javascript.