为什么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>");