Mon site Web intègre dynamiquement un fichier Javascript externe dans la balise principale. Le Javascript externe définit une variable globale myString = "data". A quel moment myString devient-il accessible à Javascript sur le site?Comment et quand les navigateurs implémentent-ils des modifications en temps réel au DOM d'un document?
<html>
<head>
<script type="text/javascript">
myString = null;
external = document.createElement("script");
//externalScript.js is one line, containing the following:
//myString = "data";
external.setAttribute("src", "externalScript.js");
external.setAttribute("type", "text/javascript");
document.getElementsByTagName("head")[0].append(external);
alert(myString);
<script>
</head>
<body>
</body>
</html>
Ce code avertit null (quand je pensais qu'il alerterait « données ») dans Chrome et IE, même si le DOM a chargé dans externalScript.js à ce stade. Quand externalScript.js est-il évalué par le navigateur et à quel moment ai-je accès à la nouvelle valeur de myString?
Oh, j'aime beaucoup mieux. Réponse supprimée. Est-ce que l'injection du script externe fonctionnera même si nous agissons à l'intérieur de '
'? Je n'en ai pas traité beaucoup ... – Matchu@Matchu - Ça devrait marcher, tant que l'élément a été ouvert ça marchera ... les navigateurs je suppose * que ce genre de chose arrive. Lorsqu'un élément est ouvert, la plupart des implémentations de navigateur le traitent comme un élément fermé, ajoutant les enfants dans ce parent comme il les trouve, mais le parent lui-même est juste jeu dès qu'il est ouvert. –
Je pense que j'ai eu des problèmes avec les scripts à la fin de '
' être en mesure d'ajouter des choses ... le temps de tester! – Matchu