无法在IE8中调用apendChild方法

时间:2014-04-12 13:28:29

标签: javascript

您好我正在尝试动态加载jquery文件,我使用以下代码并获取   在FF&执行IE9,来到IE8它抛出以下错误,可以任何机构建议我   如何解决这个问题。

Error:
SCRIPT65535: Unexpected call to method or property access. 
Effecta.ObjectComparator_v1.1.1.js, line 32 character 5

我写的代码如下:

var req = new XMLHttpRequest();
    req.open('GET', "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js", false);
    req.onreadystatechange = function(){            
        if (req.readyState == 4) {              
            var script = document.createElement("script");
            script.appendChild(document.createTextNode(req.responseText)); // line 32
            document.head.appendChild(script);          
        }
    };
    req.send(null);

提前致谢

2 个答案:

答案 0 :(得分:1)

您创建了跨域XMLHttpRequest请求。 IE8仅支持非常有限的条件。

而是创建一个脚本标记并将其src属性设置为url。

窃取Google如何注入分析:

(function(d, script) {
    script = d.createElement('script');
    script.type = 'text/javascript';
    script.async = true;
    script.onload = function(){
        // remote script has loaded
    };
    script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js';
    d.getElementsByTagName('head')[0].appendChild(script);
}(document));

答案 1 :(得分:0)

IE8没有document.head属性,请尝试document.getElementsByTagName['head'][0];