ここへジャンプ:

テキストの文字列を document.open() で開かれた文書ストリームに書き込みます。

注: document.write は文書ストリームに書き込みを行うため、閉じられた(ロード済みの)文書で document.write を呼び出すと、自動的に document.open が呼ばれ、文書はクリアされます。

構文

document.write(markup);

引数

markup
文書に書き込まれるテキストを含む文字列です。

<html>

<head>
  <title>書き込み例</title>

  <script>
    function newContent() {
      alert("新しいコンテンツを読み込みます");
      document.open();
      document.write("<h1>新しい内容では、古い内容は削除されます!</h1>");
      document.close();
    }
  </script>
</head>

<body onload="newContent();">
  <p>元の文書コンテンツ。</p>
</body>

</html>

注記

document.open() を呼び出さずに読み込まれた文書への出力が行われる場合、自動的に document.open の呼び出しが実行されます。一度出力し終わったとき、ブラウザにページの読み込みの終了を伝えるために、document.close() の呼び出しが推奨されます。 出力したテキストは文書構造モデルにおいて構文解析されます。上記の例では、h1 要素は文書中の 1 つのノードになります。

document.write() の呼び出しがインラインの HTML の <script> タグ内で行われた場合、document.open() は呼ばれません。次に例を示します。

<script> 
  document.write("<h1>Main title</h1>") 
</script>

注: document.write や document.writeln は XHTML 文書では動作しません(エラーコンソールに "Operation is not supported" [NS_ERROR_DOM_NOT_SUPPORTED_ERR] エラーが表示されるでしょう)。これは拡張子が .xhtml であるローカルファイルを開くとき、あるいはどの文書でも application/xhtml+xml の MIME タイプで送出されたときに発生します。詳細は W3C XHTML FAQ で確認することができます。

注: deferred または asynchronous スクリプト内での document.write は無視され、エラーコンソールに "A call to document.write() from an asynchronously-loaded external script was ignored" といったメッセージが表示されるでしょう。

注: Edge のみ、document.write を iframe 内で複数回呼び出すと、SCRIPT70: Permission denied エラーが発生します。

注: 2G 接続のユーザーのため、Chrome 55 からは、キャッシュされていない HTTP の場合、document.write() を通じて挿入された <script> 要素は実行されなくなります。

仕様

参照

ドキュメントのタグと貢献者

 このページの貢献者: sii, mushahiroyuki, fscholz, jsx, ethertank, Potappo
 最終更新者: sii,