var head = document.getElementsByTagName(“ head”)[0];
            newScript = document.createElement('script');
        newScript.type ='文本/ javascript';
        newScript.innerHTML ='$(window).load(function(){someFooo();}); ';
        head.appendChild(newScript);


这导致IE6中出现未知的运行时错误。还有其他办法吗?

最佳答案

请尝试使用text property

newScript.text = '$(window).load(function(){ someFooo(); });';


这也适用于非IE浏览器。我已经在FF2,FF3,FF3.5,Safari 4(WIN),Opera 9 +,Chrome 2,Chrome 3中使用了它们,并且它们都能正常工作。

根据规范(我不得不说这句话,否则我会产生误解),您应该使用appendChild

var script = '$(window).load(function(){ someFooo(); });';
newScript.appendChild(document.createTextNode(script));


但这在IE中失败(不允许<script>元素具有子元素或其他一些无用的IE事物)。所以就跟前一个去吧。

09-17 08:46