关于js动态插入script 标签后页面JS代码执行失败的解决方法
2016-07-26 15:00
806 查看
RT,主要是因为加载顺序的问题,为了解决某设备上的JS缓存导致修改文件不能及时更新问题以及方便JS管理,我采用了如下代码进行JS 动态插入
var t = Math.random(); var js_path = "./js/"; function loadJS(script){ var src = js_path + script +'?r='+t ; var script_dom = document.createElement('script'); script_dom.src = src; script_dom.language = 'javascript'; script_dom.type = 'text/javascript'; var head = document.getElementsByTagName('head').item(0); head.appendChild(script_dom); } loadJS("tb.js"); loadJS("button.js");执行后发现一个问题,原有页面的关联JS代码一直报错,提示 undefine ( 应该没拼错 ),然后检查发现 head 节点成功插入了 script标签,而且顺序是比较前的,于是有点纳闷,经过几番测试后,发现如果是后面动态插入的SCRIPT是会被执行的,只是执行顺序比当前页面的嵌入JS代码更晚一步而已,那么我们为了保证页面代码执行顺序不出错误。
通过 给 BODY 增加 Onload 方法,将页面需要嵌入执行的代码放入onload中则问题解决。
注:这里也测试了 jQuery 的 ready 事件,发现依然如此,本人为应用开发者,不深究了。
穿针引线,请大神拍砖。
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js数组实现图片轮播
- Mootools 1.2教程(2) DOM选择器
- DOM 事件流详解
- js可突破windows弹退效果代码
- Dom在ajax技术中的作用说明
- 深入HTTP head的使用详解
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- 爆炸式的JS圆形浮动菜单特效代码
- javascript针对DOM的应用分析(三)
- Dom 是什么的详细说明
- javascript针对DOM的应用分析(五)
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球