清除文件后,document.write(ln)将不起作用?

时间:2011-08-30 13:11:05

标签: javascript innerhtml document.write

如标题中所说我有问题,这是示例:

...    
<script>
document.body.innerHTML = "";
document.write("<scr"+"ipt>alert(1);<\/scr"+"ipt>");
</script>

清除文档后,我想在其中写一些JS代码(我当然想要执行)。我尝试了其他方法,但似乎它们不起作用(我有浏览器Firefox 6.0)。

有没有人知道这个问题的解决方案或工作替代方案?提前谢谢!

2 个答案:

答案 0 :(得分:3)

请勿使用document.write()。只是不要。 (见Why is document.write considered a "bad practice"?


试试这个:

var text = 'alert(1);',
    script = document.createElement('script');
script.appendChild(document.createTextNode(text));
document.head.appendChild(script);

答案 1 :(得分:1)

document.write仅在加载DOM之前有效; document.body.innerHTML仅适用于。

尝试使用document.body.appendChild来添加新的文本节点。