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

     向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

  • 相关阅读:
    npm
    React
    php区分new static 和new self
    tiny java web server
    算法可视化
    在线markdown编辑器
    JAVA
    linux find命令
    自定义windows新建菜单
    floyd算法
  • 原文地址:https://www.cnblogs.com/loveamyforever/p/7244581.html
Copyright © 2011-2022 走看看