关于document.body.appendChild在ie中的问题.

在整理一个页面的时候,决定用同一个外链文件来调用js,用了一个函数:
function downloadJS(url){
            var elem = document.createElement("script");
            elem.type="text/javascript";
            elem.src=url;
            document.body.appendChild(elem);
}
这个函数本身没有错,但是在使用过程中我是把这个函数放在一个js文件中放在页面底部,仍然是body里面
(function(){
downloadJS("...................");
downloadJS("...................");
})();
这样加载一系列脚本,在Mozilla中是完全没问题的,但是在ie中,有时候会把ie浏览器整死,cpu会达到50%左右,当时好迷惑,查了好一会在查出是 document.body.appendChild(elem)的问题.

这是由于在Mozilla中,当页面还没有完全加载完时body元素就已经存在,而ie中必须是页面加载完后body才存在,所以....

解决方法:
1.window.onload
2.把语句放在body后面
3.用setTimeout
4.用insertBefore

转载于:https://www.cnblogs.com/sdk3108/archive/2011/09/02/2163420.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值