MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

将一个文本字符串写入由 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>
    <!-- js -->
    <script>
        function newContent(){
            alert("load new content");
            document.open();
            document.write("<h1>Out with the old - in with the new!</h1>");
            document.close();
        }
        document.onload = (function(){
            setTimeout(newContent, 1000);
        }());
    </script>
</body>
</html>

备注

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

如果document.write()被直接嵌入到HTML主体代码中,那么它将不会调用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中会发生,其他浏览器中尚未发现。

规范

相关链接

文档标签和贡献者

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