पेज के रेंडरिंग में देरी से बचने के लिए, स्क्रिप्ट को एसिंक्रोनस रूप से लोड किया जा सकता है, जिसके लिए async या defer एट्रीब्यूट का उपयोग किया जाता है। चूंकि स्क्रिप्ट पेज में अपनी स्थिति पर नहीं चलती है, इसलिए data-dom-target एट्रीब्यूट का उपयोग करके उस एलिमेंट को निर्दिष्ट करना आवश्यक है जिसमें मैप डाला जाएगा। इस एलिमेंट को पेज में कहीं भी, स्क्रिप्ट टैग से पहले या बाद में रखा जा सकता है।
<div id="aqi-map"></div>
<script async src="https://aqicn.org/maplet/embed.v1.js"
data-city="paris"
data-lang="hi"
data-dom-target="aqi-map"
data-height="450"></script>
परिणाम:
जावास्क्रिप्ट से स्क्रिप्ट लोड हो रही है
इस स्क्रिप्ट को गतिशील रूप से भी सम्मिलित किया जा सकता है, उदाहरण के लिए टैग मैनेजर या सिंगल पेज एप्लिकेशन से। वही data-dom-target नियम लागू होता है:
<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", "hi");
document.head.appendChild(s);
</script>