为什么js的document.write 输出内容把网页内容全部冲刷掉了?我的网页内容代码是这样的:
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>新建文档</title>
</head><body>网页内容<script language="JavaScript" src="end.js"></script></body>
</html>end.js 内容是这样的
window.onload = function(){
document.write("全部执行完了");
}
结果, 页面只显示“全部执行完了”  把网页原有的内容全部冲刷掉了,没了。而如果
end.js 内容是这样的
document.write("全部执行完了");//直接一句话不要判断onload,直接输出,那么就不会。而我的情况是,我希望这个最后的js 不要一开始就输出啊,我希望等window.onload 了再加载哦
怎么办啊

解决方案 »

  1.   

    window.onload之后调用document.write的话会把文档都冲掉的
      

  2.   

    如果一定要在onload之后,就不要用document.write, 在一个div中innerHTML你想要的内容,
      

  3.   

    用innerHTML的话不会执行里面的script吧?
    可以先生成一个节点,然后append到body。
      

  4.   

    我的实际情况是 js 里面又还有一个  <script....... src='......'></strip>
      

  5.   

    没问题吧,你是动态加载到后面。你可以先把body清空,然后append,如果之前有那个js还不用加载呢。
    不过如果你那个script是写在<script></script>里面的话那就要注意一下了。
    要把里面的<script></script>转义,变成<script><\/script>,或者将script标签分开写appendChild("<scr" +"ipt>......</scr" + "ipt>");
      

  6.   

    因为你onload的时候执行  文档流已经关闭  write会重新打开文档流 所以覆盖了