动态加载js

方法1

$.getScript('/themes/sh/Public/xtpla/js/jquery.plugins.min.js');

方法2

<script type="text/javascript">
(function() {
	var bp = document.createElement('script');
	var curProtocol = window.location.protocol.split(':')[0];
	if (curProtocol === 'https') {
		bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
	} else {
		bp.src = 'http://push.zhanzhang.baidu.com/push.js';
	}
	var s = document.getElementsByTagName("script")[0];
	s.parentNode.insertBefore(bp, s);
})();
</script>

加载多个js文件

<script type="text/javascript">
(function() {
	var s = document.getElementsByTagName("script")[0];
        //1
	var bp = document.createElement('script');
	bp.src = "/Public/ueditor/ueditor.config.js?v=2020";
	s.parentNode.insertBefore(bp, s);
        //2
	var bp1 = document.createElement('script');
	bp1.src = "/Public/ueditor/ueditor.all.js?v=2020";
	s.parentNode.insertBefore(bp1, s);
        //3
	var bp2 = document.createElement('script');
	bp2.src = "/Public/ueditor/lang/zh-cn/zh-cn.js?v=2020";
	s.parentNode.insertBefore(bp2, s);
        //4
	var bp3 = document.createElement('script');
	bp3.src = "__PUBLIC__/js/jscolor/jscolor.js?v=2020";
	s.parentNode.insertBefore(bp3, s);
})();
</script>

如图所示:

拓展:javascript的insertBefore和appendChild简单介绍

一、target.insertBefore(newChild,existingChild)
参数说明:
1.target:被添加节点和现有节点的父节点。
2.newChild:将要被插入的节点。
3.existingChild:现有的节点,新节点将会被插入到它的前面,此参数值可以为null。

二、appendChild()函数:
此函数可以在父节点的内部的尾部追加一个新的节点。
target.appendChild(newChild)

总结

浏览器的加载顺序是:最上面的最早加载的,最下面的最晚加载的
期间和同事讨论,最上面的是最早加载完成的,后来被否定了,这个加载完没完没有关系,即:无论是否加载完成,最上面的永远是最早加载的

insertBefore 和 appendChild 的加载顺序有疑问,有待研究

posted @ 2020-10-09 15:49  王玉岩  阅读(240)  评论(0编辑  收藏  举报