現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

DOM / Document(ページ操作)

【JavaScript入門】document.openとdocument.closeの使い方|書き出し処理の仕組みと注意点を解説

投稿日:2019年4月25日 更新日:

この記事で分かること

  • document.open()document.close() の役割
  • ドキュメント書き出しの仕組み
  • MIMEタイプの指定方法
  • window.open() との違い
  • 使用時の注意点(ページ内容が消えるケース)

document.open()document.close() は、HTML ドキュメントへの書き出し処理を開始・終了するためのメソッドです。
ただし使い方を誤るとページ内容が消えてしまうため、仕組みを正しく理解することが重要です。



document.open / document.close の基本


document.open(MIMEタイプ);  // ドキュメントの書き出し開始
document.close();            // 書き出し終了
  • document.open():ドキュメントを開き、書き込み可能な状態にする
  • document.close():書き込みを終了し、ブラウザに表示させる
  • MIMEタイプは省略可能(省略時は text/html

重要: 現在のページで document.open() を実行すると、
そのページの内容はすべて消去され、書き換えられます。



open メソッド|ドキュメントの書き出し開始

document.open() を実行すると、HTML 文書が「書き込み可能な状態」になります。
HTML 以外の形式で書き出したい場合は MIME タイプを指定します。


document.open("text/plain"); // プレーンテキストとして書き出す

MIMEタイプとは?

MIMEタイプは、コンテンツの種類を表す文字列です。

  • text/plain(テキスト)
  • text/html(HTML)
  • image/jpeg(JPEG画像)

省略した場合は text/html として扱われます。

close メソッド|書き出し終了

document.close() は、open で開始した書き込み処理を終了し、
ブラウザに内容を反映させるためのメソッドです。


// ウィンドウ newWin のドキュメントを書き換える
newWin.document.open();
newWin.document.write("<h1>新しい内容</h1>");
newWin.document.close();

注意: close を呼ばないとページが「読み込み中」のままになってしまいます。

window.open() と混同しないよう注意

window.open() は「新しいウィンドウ(またはタブ)を開く」メソッドで、
document.open() とはまったく別物です。

  • window.open() → 新しいウィンドウを開く
  • document.open() → ドキュメントの書き出しを開始する

DOMにおける document.open()

JavaScript の document.open() では MIME タイプを指定できますが、
DOM 仕様では 引数なしで使用する 点に注意してください。

JavaScript 初心者におすすめの学習書籍

書籍で学ぶのが向いている人

  • 紙の本で体系的に学びたい
  • ネット記事だけだと情報が断片的に感じる
  • 基本文法を順序立てて理解したい

document.open / close は JavaScript の基礎であり、書籍ではこれらを体系的に順序立てて学べるため、理解が深まりやすいです。

いちばんやさしい JavaScript の教本

写真や図が多く、手を動かしながら学べる初心者向けの入門書です。

この本で解決できること:

  • document の基本操作を視覚的に理解できる
  • JavaScript の基礎文法をやさしく習得できる
  • サンプルを動かしながら学べるため挫折しにくい

確かな力が身につく JavaScript「超」入門

document の仕組みを体系的に学びたい方に向いている入門書です。

この本で解決できること:

  • document の基礎を体系的に学び直せる
  • 実務で使えるレベルの基礎力を身につけられる
  • 現代的な JavaScript の書き方が理解できる

動画で理解を深めたい方へ(Udemy講座)

document.open / close の動きを動画で見ると、理解が一気に深まります。
Udemy では初心者向けに丁寧に解説された講座が多数あります。

初心者のためのJavaScript 完全入門

document を含む JavaScript の基礎を体系的に学べる人気講座です。

この講座で解決できること:

  • document の動きを視覚的に理解できる
  • 要素の取得・変更・追加の流れが分かる
  • 初心者がつまずきやすいポイントを丁寧に解説

初心者のためのJavaScript 完全入門(Udemy)

超JavaScript 完全ガイド 2026

document を含む JavaScript の基礎〜応用を幅広く学べる講座です。

この講座で解決できること:

  • document の基礎〜応用を体系的に理解
  • 現代的なコードの書き方が身につく
  • 実務で必要な知識をまとめて習得

超JavaScript 完全ガイド 2026(Udemy)

体系的に学びたい方へ(スクールという選択肢)

独学の限界を感じやすいポイント

  • document.open / close の仕組みが曖昧なまま進んでしまう
  • window.open との違いで混乱しやすい
  • コードの意図が理解できない
  • 学習の順番に自信が持てない

document の理解は DOM 操作・イベント処理などの基礎になるため、
つまずきやすい部分を質問できる環境があると理解が深まります。

無料相談で得られるメリット

  • あなたのレベルに合わせた学習計画を作成
  • 独学でつまずきやすい部分を事前に把握
  • 学習方法の改善点をプロがアドバイス
  • エンジニア転職を視野に入れたキャリア相談も可能

document を効率よく学びたい方には、未経験からエンジニアを目指せる
DMM WEBCAMP の学習コースも選択肢のひとつです。

DMM WEBCAMP 学習コース(無料相談はこちら)



document.open / close に関するよくある質問(FAQ)

Q1

document.open() を実行するとページが消えるのはなぜ?

A

document.open() は現在のページ内容を破棄して新しい書き込みを開始するため、既存の内容が消えます。

Q2

MIMEタイプは必ず指定する必要がある?

A

省略可能です。省略した場合は text/html として扱われます。

Q3

window.open()document.open() の違いは?

A

window.open() は新しいウィンドウを開くメソッド、document.open() はドキュメントの書き出しを開始するメソッドです。

Q4

document.close() を呼ばないとどうなる?

A

ブラウザが「読み込み中」の状態のままになり、書き込み内容が反映されません。



まとめ

  • document.open() はドキュメントの書き出し開始
  • document.close() は書き出し終了
  • 現在のページで使うと内容が消えるので注意
  • window.open() とは別物
  • MIMEタイプを指定すると HTML 以外の形式で書き出せる



関連記事

【JavaScript入門】document.domainとは?ドメイン名の取得方法と使い方を初心者向けに解説

この記事で分かること document.domain の役割と仕組み ドメイン名の取得方法 複数ドメイン運用時の条件分岐への活用 返される値の特徴(URL ではなくドメイン名) 現代的な代替手法(CO …

【JavaScript入門】document.bgColorとは?背景色の取得・変更方法と注意点を初心者向けに解説

この記事で分かること document.bgColor の役割と仕組み 背景色(background color)の取得・変更方法 指定できる色形式(色名・16進数・RGB) background c …

【JavaScript入門】document.lastModifiedとは?ページ最終更新日の取得方法を初心者向けに解説

この記事で分かること document.lastModified の役割と仕組み 最終更新日の取得方法 返される日付形式と環境差 自動表示するメリット 注意点と日付整形の方法 document.las …

【JavaScript入門】linkColor・alinkColor・vlinkColorとは?リンク色の変更方法と注意点を初心者向けに解説

この記事で分かること document.linkColor の役割 document.alinkColor の役割 document.vlinkColor の役割 リンク状態ごとの色変更の仕組み 指定 …

【JavaScript入門】DOMとは?仕組み・ノード・ツリー構造を初心者向けにわかりやすく解説

この記事で分かること DOM(Document Object Model)の基本概念 ノード(要素・属性・テキスト)の種類と役割 DOMツリーの構造と親子・兄弟関係 JavaScriptからDOMを操 …

このブログは Xserver 上の WordPress で運用しています。
表示速度が速く、安定しているのでブログ初心者にもおすすめです。

レンタルサーバー エックスサーバー

-DOM / Document(ページ操作)

執筆者: