admin管理员组文章数量:1573361
为什么80%的码农都做不了架构师?>>>
使用document.write()函数向网页中写内容的时候,会把文档中的原来的内容给清空,出现此种情况的原因之一:window.onload事件是在文档内容完全加载完毕再去执行事件处理函数,当然文档流已经关闭了,这个时候执行doucment.write()函数会自动调用document.open()函数创建一个新的文档流,并写入新的内容,再通过浏览器展现,这样就会覆盖原来的内容。如下例:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy/" />
<title>蚂蚁部落</title>
<script type="text/javascript">
window.onload=function(){
document.write("分享互助");
}
</script>
</head>
<body>
<div>蚂蚁部落欢迎您</div>
</body>
</html>
使用document.close()关闭文档流后,却不能够覆盖原来的内容了。因为文档流是由浏览器创建,无权限手动关闭,document.close()函数只能够关闭由document.open()函数创建的文档流。如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy/" />
<title>蚂蚁部落</title>
<script type="text/javascript">
document.close();
document.write("分享互助");
</script>
</head>
<body>
<div>蚂蚁部落欢迎您</div>
</body>
</html>
由doucment.open()创建的文档流就可以由document.close()关闭,那么第二个document.write()输出的内容会覆盖掉第一个输出的内容。如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy/" />
<title>蚂蚁部落</title>
<script type="text/javascript">
function create(){
var newWindow=window.open("","蚂蚁部落","_blank");
newWindow.document.write("蚂蚁部落欢迎您");
newWindow.document.close();
newWindow.document.write("ABC");
}
window.onload=function(){
var obt=document.getElementById("bt");
obt.onclick=function(){
create();
}
}
</script>
</head>
<body>
<div id="print">蚂蚁部落欢迎您,只有努力奋斗才会有美好的明天。</div>
<input type="button" id="bt" value="查看效果"/>
</body>
</html>
如果文档内容并没有被清空,这是因为当前文档流是由浏览器所创建,并且document.wirte()函数身处其中,也就是执行此函数的时候文档流并没有被关闭,这个时候不会调用document.open()函数创建新文档流,所以也就不会被覆盖了。
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy/" />
<title>蚂蚁部落</title>
<script type="text/javascript">
document.write("分享互助");
</script>
</head>
<body>
<div>蚂蚁部落欢迎您</div>
</body>
</html>
所以,原来的内容是否被document.wirte()清空,依据就是:是否重新加载了文档流。
转载于:https://my.oschina/gAKey/blog/1546268
版权声明:本文标题:document.write()清空页面原有内容的原因 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727746941a1127919.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论