Je le script suivant, où le premier et le troisième document.writeline
sont statiques et le second est généré:document.write script en ligne Ordre d'exécution de JavaScript
<script language="javascript" type="text/javascript">
document.write("<script language='javascript' type='text/javascript' src='before.js'><\/sc" + "ript>");
document.write("<script language='javascript' type='text/javascript'>alert('during');<\/sc" + "ript>");
document.write("<script language='javascript' type='text/javascript' src='after.js'><\/sc" + "ript>");
</script>
Firefox et Chrome affiche avant, pendant et après, tandis que Internet Explorer montre d'abord pendant et seulement alors il montre avant et après.
Je suis tombé sur an article that states que je ne suis pas le premier à rencontrer cela, mais cela ne me fait guère me sentir mieux.
Est-ce que quelqu'un sait comment je peux définir l'ordre d'être déterministe dans tous les navigateurs, ou pirater IE pour fonctionner comme tous les autres navigateurs sane?
Mises en garde: L'extrait de code est un repro très simple. Il est généré sur le serveur et le deuxième script est la seule chose qui change. C'est un long script et la raison pour laquelle il y a deux scripts avant et après est que le navigateur les mettra en cache et la partie dynamique du code sera aussi petite que possible. Il peut également apparaître plusieurs fois dans la même page avec le code généré différent.
Doit lire: http://html5rocks.com/en/tutorials/speed/script-loading – Pacerier