码迷,mamicode.com
首页 > Web开发 > 详细

使用innerHTML属性向head中插入字符时报“无法设置 innerHTML 属性。 该操作的目标元件无效”的错误

时间:2017-07-28 20:07:44      阅读:1227      评论:0      收藏:0      [点我收藏+]

标签:.com   版本   href   rip   msi   logs   inner   ref   tail   

 向head中动态插入script文件,代码如下:

var sc = document.createElement("script");
sc.src = "//www.chinanews.com/ie8/js/json2.min.js";

var head = document.getElementsByTagName("head")[0];
head.appendChild(sc);

但如下要插入的代码如下:

<!--[if lt IE 9]>
  <script src="/ie8/js/json2.min.js">
  </script>
<![endif]-->

则要用到HTML DOM 的innerHTML属性,将上述代码存在一串字符串中,再放入head中

var jsonStr = ‘<!--[if lt IE 9]><script src="/ie8/js/json2.min.js"></script><![endif]-->‘;
var head = document.getElementsByTagName("head")[0];
head.innerHTML = head.innerHTML + jsonStr;

获取之前head中的字符,并添加上新的字符串,但是在IE中则报“无法设置 innerHTML 属性。  该操作的目标元件无效”的错误。

http://w3help.org/zh-cn/causes/BX9046

最后通过判断浏览器是否是ie及版本,动态添加js文件

if ((navigator.userAgent.indexOf(‘MSIE‘) >= 0) && (navigator.userAgent.indexOf(‘Opera‘) < 0)){//判断是否是ie浏览器
        if(isIEVer(7) || isIEVer(8) || isIEVer(6)){
            json2 = document.createElement("script"); 
              json2.src = "/ie8/js/json2.min.js";
              head.appendChild(json2);
        }
}

 http://blog.csdn.net/smilepi/article/details/21076097

使用innerHTML属性向head中插入字符时报“无法设置 innerHTML 属性。 该操作的目标元件无效”的错误

标签:.com   版本   href   rip   msi   logs   inner   ref   tail   

原文地址:http://www.cnblogs.com/loveamyforever/p/7244581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!