关键词搜索

源码搜索 ×
×

动态加载js

发布2020-05-11浏览532次

详情内容

通常,加载哪些js文件都是在开发阶段,预先写好在页面上。但某些场景下需要动态加载js脚本。

像以下这个例子,由于地图页面是个公用的页面,所以应该尽量保持干净和轻量。但好多地方都使用了该地图,我又希望它可以因应不同的情况,按需动态加载不同的脚本,以适应不同的要求。

示例如下:

<div class="main">
    <div class="normal-box map">
    	<!--/* 二维地图页面,存放在一个iframe里 */-->
        <iframe id="frame2D" class="frame" src="about:blank"></iframe>
        <!--/* 三维地图,存放在另一个iframe里 */-->
        <iframe id="frame3D" class="frame hidden" src="about:blank"></iframe>
    </div>
</div>
....
<!--/*
    地图页面加载气泡相关js
    之所以动态加载,是因为气泡相关js不是地图必须依赖,只跟具体业务有关
*/-->
<script th:inline="javascript">
    var timer_map2d = setInterval(function () {
        let doc = document.getElementById("frame2D").contentDocument;
        if(!doc || doc == null) return;//地图页面尚未加载完毕
        clearInterval(timer_map2d);

        var script = doc.createElement("script");
        script.type = "text/javascript";
        script.src = /*[[@{/js/onemap/bubble.js}]]*/"/js/onemap/bubble.js";
        doc.getElementsByTagName("head")[0].appendChild(script);//让地图页面动态加载某js
    }, 1000);
</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载