为了避免页面渲染延迟,可以使用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="cn"
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", "cn");
document.head.appendChild(s);
</script>