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事物)。所以就跟前一个去吧。