為了避免頁面渲染延遲,可以使用async或defer屬性非同步載入腳本。由於腳本不會在其頁面目前位置運行,因此需要使用data-dom-target屬性指定地圖插入的元素。該元素可以放置在頁面中的任何位置,包括 `<script>` 標籤之前或之後。
<div id="aqi-map"></div>
<script async src="https://aqicn.org/maplet/embed.v1.js"
data-city="paris"
data-lang="hk"
data-dom-target="aqi-map"
data-height="450"></script>
結果:
從 JavaScript 載入腳本
腳本也可以動態插入,例如透過標籤管理器或單頁應用程式。同樣的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", "hk");
document.head.appendChild(s);
</script>