HTML DOM document.write() 方法
Document 对象定义和用法
document.write() 方法可向文档写入文本内容,可以是 HTML 代码。
如果在文档已完成加载后执行 document.write(),整个 HTML 页面将被覆盖。
语法
document.write(exp1,exp2,exp3,...)
参数 | 描述 |
---|---|
exp1,exp2,exp3,... | 可选。要写入的输出流。多个参数可以列出,他们将按出现的顺序被追加到文档中 |
注:document.write() 方法将一个文本字符串写入一个由 document.open() 打开的文档流(document stream)。
向一个已经加载,并且没有调用过 document.open() 的文档写入数据时,会自动调用 document.open()。一旦完成了数据写入,建议调用 document.close(),以告诉浏览器当前页面已经加载完毕。写入的数据会被解析到文档结构模型(DOM)里。
如果 document.write() 调用发生在 HTML 里的 <script> 标签中,那么它将不会自动调用 document.open(),如下代码:
<script> document.write("<h1>Main title</h1>") </script>
浏览器支持
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | Yes |
所有主流浏览器都支持 write() 方法
实例
实例 3
write() 与 writeln() 的区别:
<p>注意 write() 方法不会在每个语句后面新增一行:</p>
<script>
document.write("Hello World!");
document.write("Have a nice day!");
</script>
<p>注意 writeln() 方法在每个语句后面新增一行:</p>
<script>
document.writeln("Hello World!");
document.writeln("Have a nice day!");
</script>
尝试一下 »
实例 4
使用 open 打开文档收入流,将覆盖整个 HTML 文档:
document.open();
document.write("<h1>Hello World</h1>");
document.close();
尝试一下 »
实例 5
可以打开一个新的浏览器窗口,并写入内容:
const myWindow = window.open();
myWindow.document.write("<h1>这是一个新窗口</h1>");
myWindow.document.write("<p>Hello World!</p>");
尝试一下 »
Document 对象
lunatic
378***857@qq.com
参考地址
Javascript 中只能在 HTML 输出流中使用 document.write,在文档已加载后使用它(比如在函数中),会覆盖整个文档。
HTML 输出流:当前数据形式是 HTML 格式的数据,这部分数据正被导出、传输或显示,所以称为”流“。
思考: 什么是在 html 输出中使用,什么是文档加载后使用?
尝试一下 »
例子中代码执行到 document.write 就向页面写入,文档加载完成,但未调用函数,所以不会执行函数中的 document.write,当点击按钮,触发了事件,则是在文档加载完成后使用的 document.write,则会覆盖页面中原有信息。
用 javascript 编写的代码只能通过 html/xhtml 文档才能执行,代码一行一行解析,文档在加载的过程中实际是一边加载一边用 document.write 写出内容到屏幕上,而加载完成后,document 就关闭。如果再调用 document.write 往网页上写内容的话,就会重写 document。
lunatic
378***857@qq.com
参考地址