Pour éviter de retarder l'affichage de votre page, le script peut être chargé de manière asynchrone, grâce à l'attribut async ou defer . Comme le script ne s'exécute alors pas à son emplacement d'origine sur la page, l'attribut data-dom-target est nécessaire pour spécifier l'élément dans lequel la carte est insérée. Cet élément peut être placé n'importe où sur la page, avant ou après la balise `<script>`.
<div id="aqi-map"></div>
<script async src="https://aqicn.org/maplet/embed.v1.js"
data-city="paris"
data-lang="fr"
data-dom-target="aqi-map"
data-height="450"></script>
Résultat:
Chargement du script depuis JavaScript
Le script peut également être inséré dynamiquement, par exemple depuis un gestionnaire de balises ou une application monopage. La même règle data-dom-target s'applique :
<div id="aqi-map"></div>
<script>
var s = document.createElement("script");
s.src = "https://aqicn.org/maplet/embed.v1.js";
s.setAttribute("data-city", "london");
s.setAttribute("data-dom-target", "aqi-map");
s.setAttribute("data-lang", "fr");
document.head.appendChild(s);
</script>