首页 > 代码库 > 关于document.write()重写页面
关于document.write()重写页面
今天碰到了一个以前没注意的问题即:document.write(),在此拿来分享!
document.write是最基本的JavaScript命令之一,这个命令简单地打印指定的文本内容到页面上(注意是页面,所以想用write指定具体打印到哪个地方的同学可以心凉了)。
使用这个方法会碰到两个状态:1、添加内容到页面中;2、重写页面;为什么出两种状态?
页面在生成时有一个输入流的状态。在页面加载时这个状态是自动打开的,这时内容会从上至下添加内容。
此时调用document.write会把内容写进页面里面,但我们不能准确控制加载的位置,只能根据write()方法调用的位置使其内容放入页面大概的位置。
例如:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 5 <title></title> 6 <meta charset="utf-8" /> 7 </head> 8 <body> 9 <script type="text/javascript">10 document.write("我是输出内容!");11 </script>12 <h1>我是HTML标签内容!</h1>13 </body>14 </html>
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 5 <title></title> 6 <meta charset="utf-8" /> 7 </head> 8 <body> 9 <h1>我是HTML标签内容!</h1>10 <script type="text/javascript">11 document.write("我是输出内容!");12 </script>13 </body>14 </html>
而当页面加载完成后即window.onload后,会自动的运行document.close()方法关闭这个输入流,如果此时我们再运行document.write会打开一个新的输入流在页面,此时会重写页面。
(注意:重写的是body里面的内容)
所以,如果想添加内容,还是用innnerHTML吧;
当然如果想重写页面,在window.onload后调用document.write就行了,但要记得在写完后调用close()方法关闭输入流,不关闭的话据说会阻挡图片的显示,但我没测试。
欢迎批评指正,有更好的想法多多交流~
关于document.write()重写页面
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。