将一个文本字符串写入由 document.open() 打开的一个文档流。

注意: 因为 document.write 需要向文档流中写入内容,因此在关闭(已加载)的文档上调用 document.write 会自动调用 document.open,这将清空该文档的内容

语法

document.write(markup);

markup 是一个包含要写入文档的文本的字符串。

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>document.write() example</title>
</head>
<body>
    <p>Some original document content.</p>
    <script>
    window.onload = function() {
        alert("load new content");
        document.open();
        document.write("<h1>Out with the old - in with the new!</h1>");
        document.close();
    };
    </script>
</body>
</html>

备注

向一个已经加载,并且没有调用过document.open()的文档写入数据时,会自动完成调用document.open()的操作。一旦完成了数据写入,应该调用document.close(),以告诉浏览器页面已经加载完毕。写入的数据会被解析到文档结构模型里。在上面的例子里,元素h1会成为文档中的一个节点。

如果document.write()调用发生在<script>标签中,那么它将不会自动调用document.open()。详见如下例子:

 <div> 
  <script type="text/javascript"> 
    document.write("<h1>Main title</h1>") 
  </script> 
 </div>
注意:document.writedocument.writeln在XHTML文档中无法工作 (控制台上会显示 "Operation is not supported" 的报错信息)。 当打开本地.xhtml格式的文件或任何其他application/xhtml+xml MIME type的文档时,均会有此报错。更多信息可查看 W3C XHTML FAQ.
注意::document.write 在有deferred 或 asynchronous 属性的scripts中,会被忽略,控制台会显示 "A call to document.write() from an asynchronously-loaded external script was ignored" 的报错信息。
注意::当在iframe内部使用document.write时会引发错误SCRIPT70: Permission denied .这个错误仅在Edge中会发生,其他浏览器中尚未发现。

规范

相关链接

文档标签和贡献者

标签: 
此页面的贡献者: six-moon, xgqfrms-GitHub, Marcia_gm, shisaq, teoli, jsx, ziyunfei, AlexChao
最后编辑者: six-moon,