var script = document.createElement(‘script‘);
script.type=‘text/javascript‘;
script.append(document.createTextNode("function sayHi (){alert(‘hi‘);}"))
document.body.appendChild(script);
在Firefox,Safari,chrome,opera中,这些DOM代码可以正常运行,但在IE中,则会导致错误,IE将<script>视为一个特殊的元素,不允许DOM访问其子节点。
不过可以使用<script>元素的text属性来指定javascript代码,整个过程可以用以下函数来表示
function loadScriptString(code){
var script = document.createElement(‘script‘);
script.type = ‘text/javascript‘;
try{
script.appendChild(document.createTextNode(code));
}catch(ex){
script.text = code;
}
document.body.appendChild(script);
}
// 下面是调用这个函数的示例:
loadScriptString("function(){clert(‘hi‘);}");