Bonjour,
J'ai plusieurs scripts js à charger de façon asynchrone dans ma page.
(Dons celui de google-analytics qui me sert d'exemple.)
Le code de base de google-analytics est le suivant :
Du coups ça donne envie d'écrire une fonction async(src) pour rendre le code plus lisible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <script> (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script>
Mais est-ce vraiment équivalent ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <script> function async(src) { var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; script.src = src; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s); } async(('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'); //async('un_autre_script'); </script>
Dans le code de google-analytics y'a ça :
Qu'est ce que ça fait exactement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (function() { // CODE })();
Partager