首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

为啥js的document.write 输出内容把网页内容全部冲刷掉了

2012-06-20 
为什么js的document.write 输出内容把网页内容全部冲刷掉了?为什么js的document.write 输出内容把网页内容

为什么js的document.write 输出内容把网页内容全部冲刷掉了?
为什么js的document.write 输出内容把网页内容全部冲刷掉了?

我的网页内容代码是这样的:
 

HTML code
<!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 内容是这样的

JScript code
window.onload = function(){        document.write("全部执行完了");}


结果, 页面只显示“全部执行完了” 把网页原有的内容全部冲刷掉了,没了。

而如果
end.js 内容是这样的

JScript code
    document.write("全部执行完了");//直接一句话

不要判断onload,直接输出,那么就不会。

而我的情况是,我希望这个最后的js 不要一开始就输出啊,我希望等window.onload 了再加载哦


怎么办啊

[解决办法]
window.onload之后调用document.write的话会把文档都冲掉的
[解决办法]
如果一定要在onload之后,就不要用document.write, 在一个div中innerHTML你想要的内容,
[解决办法]
用innerHTML的话不会执行里面的script吧?
可以先生成一个节点,然后append到body。

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

热点排行