Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ie6/7脚本标记填充给出“;对方法或属性访问的意外调用“;_Javascript_Internet Explorer_Internet Explorer 7_Internet Explorer 6 - Fatal编程技术网

Javascript ie6/7脚本标记填充给出“;对方法或属性访问的意外调用“;

Javascript ie6/7脚本标记填充给出“;对方法或属性访问的意外调用“;,javascript,internet-explorer,internet-explorer-7,internet-explorer-6,Javascript,Internet Explorer,Internet Explorer 7,Internet Explorer 6,我使用AJAX获取脚本的内容,然后使用以下代码: var scr = document.createElement('script'); scr.appendChild(document.createTextNode(script)); // *** document.getElementsByTagName('head')[0].appendChild(scr); 其中script是从AJAX填充的。这在IE9、Chrome和Firefox中运行良好。但是,在IE6和

我使用AJAX获取脚本的内容,然后使用以下代码:

    var scr = document.createElement('script');
    scr.appendChild(document.createTextNode(script)); // ***
    document.getElementsByTagName('head')[0].appendChild(scr);
其中
script
是从AJAX填充的。这在IE9、Chrome和Firefox中运行良好。但是,在IE6和IE7中,我得到一个错误:

对方法或属性访问的意外调用

IE给出了用
/***
表示的行的编号


尽管还有很多其他的问题,但似乎没有一个能解决这个精确的问题。

如果你已经有了字符串中的代码,为什么要用它做一个脚本标记呢?你就不能在上面调用
eval(script)
。这不会做同样的事情吗?

document.getElementsByTagName('head')[0]**.appendChild(scr)


为什么在这里放分号?

旧版IE不接受脚本元素(或样式和选项元素,但这是另外两个问题)中的子节点

您可以改为设置脚本元素的文本属性。 (scripttext是脚本文本的字符串。)


很好,这是一个简化代码的错误。因为如果我使用而不是eval,我可以在Chrome、Firefox和IE8+中获得更好的回溯。
var scr = document.createElement('script');
if(window.addEventListener)scr.appendChild(document.createTextNode(script))
else scr.text=scripttext;
document.getElementsByTagName('head')[0].appendChild(scr);