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

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

Window(ウィンドウ操作)

status・defaultStatusの使い方|違いと注意点【JavaScript入門】

投稿日:2019年5月12日 更新日:

この記事で分かること

  • status と defaultStatus の違い
  • ステータスバーの文字を設定するコードと、現在の注意点
  • 画面内にメッセージを表示する代替コード
  • ブラウザで挙動を確かめる手順と、確認対象の範囲

この記事は、2026年10月時点のMDN Web Docs「Window.status」「Window.defaultStatus」に基づいています。対象:特定のブラウザやバージョンを指定しない基本的な説明です。ブラウザのバージョンごとの動作差は確認対象に含めていません。

JavaScriptの status や defaultStatus を使って、画面下部のステータスバーに文字を表示したい人もいるでしょう。これらは、かつてブラウザの表示文字を設定するために使われた名前です。現在は表示されるとは限らないため、この記事では2つの歴史的な役割と、ページ内にメッセージを表示する方法を説明します。

補足:JavaScriptとは?
ホームページに動きや反応を加えるための指示を書く言葉です。
補足:ブラウザとは?
Google ChromeやSafariなど、ホームページを見るためのアプリです。
補足:ステータスバーとは?
ブラウザの画面の端に、状態や情報が表示されることがある領域です。表示位置や見え方はブラウザによって異なります。



結論:表示先によって使い分けます

status と defaultStatus は、ブラウザのステータスバーに表示する文字を設定するために使われた名前です。status はその時点の文字、defaultStatus は通常時の文字を設定する役割でした。ただし、現在のブラウザで設定した文字が表示されるとは限りません。

ここでいう window は、開いているページや、そのページを表示しているウィンドウに関係するものです。window.status のような書き方は、その中の設定項目を指定しています。

補足:Windowとは?
JavaScriptから、開いているページや、そのページを表示しているウィンドウに関係する情報を扱うものです。
ステータスバーの表示を目的に status や defaultStatus を使うのは避け、ページ内の表示を使いましょう。
これらの名前で設定した文字が、ブラウザの画面に表示されるとは限りません。利用者に伝えたい内容は、ページ内に表示する方法が適しています。

status と defaultStatus の違い

次の表は、2つの名前が従来どのような役割を表していたかをまとめたものです。これは歴史的な役割の説明であり、現在のブラウザでステータスバーを変える一般的な方法として紹介するものではありません。

比べる点 status defaultStatus
従来の役割 その時点の文字を設定する 通常時の文字を設定する
設定例 window.status = "処理中です"; window.defaultStatus = "ようこそ";
現在の扱い ステータスバーに表示されるとは限らない ステータスバーに表示されるとは限らない
知っておく目的 古いコードの意味を読む 古いコードの意味を読む
補足:コードとは?
コンピューターにしてほしいことを、決められた書き方で並べた指示です。

この2つは、ページ内のメッセージ欄を書き換えるものではありません。画面に確実に出したい案内には、後半の代替例を使ってください。

表示先の違いを図にすると、次のようになります。ステータスバーに文字を設定する例と、ページ内の文章を書き換える例を比べています。

statusとdefaultStatusはブラウザの表示領域に関係する従来の設定で、表示されるとは限りません。代替方法では、ボタン操作をきっかけにページ内の文章を書き換えます。

設定例と、表示を確かめる方法

この例では、ボタンを押したときに status へ文字を設定します。HTMLファイルを作成してブラウザで開けば、手順に沿って試せます。使用するブラウザやそのバージョンは指定していません。特定のブラウザやバージョンでの表示の違いも、この記事の確認対象には含めていません。

補足:HTMLとは?
HyperText Markup Languageの略です。ホームページの見出し・文章・ボタンなどを記述するための決まりです。

始める前に、文字を入力してファイルを保存できるアプリと、ホームページを開くブラウザを用意してください。次の順に進めます。

  1. 下のコードをすべてコピーし、文字を入力できるアプリに貼り付けます。
  2. ファイル名を status-example.html にして保存します。
  3. 保存したファイルをブラウザで開きます。
  4. 表示された「ステータスを設定」ボタンを押します。
  5. ステータスバーの表示を確認します。文字が見えない場合もあります。
<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>statusの例</title>
</head>
<body>
  <button id="statusButton" type="button">ステータスを設定</button>

  <script>
    const button = document.getElementById("statusButton");

    button.addEventListener("click", function () {
      window.status = "ボタンが押されました";
    });
  </script>
</body>
</html>

コードでは、document.getElementById が指定した名前の部品を探し、addEventListener がクリックされたときの処理を登録します。const は見つけたボタンを扱う名前を用意し、function の中にはクリック後に行う処理を書いています。

document はページの内容を扱うためのものです。ページの部品をJavaScriptから見つけたり書き換えたりできる仕組みをDOMといいます。また、クリックなどの操作や変化をイベントといい、addEventListener は指定した操作などが起きたときに処理を行うための命令です。

補足:DOMとは?
Document Object Modelの略です。ホームページの部品を、JavaScriptから見つけたり書き換えたりできるようにした仕組みです。

実行結果:ボタンを押すと、コードは window.status に「ボタンが押されました」を設定します。ただし、その文字がステータスバーに表示されるとは限りません。この例にはページ内の通知欄がないため、画面に変化が見えない場合があります。

注意:ステータスバーに文字が見えないことだけを理由に、コードの入力ミスとは判断できません。設定した文字が表示されるとは限らないためです。



画面内にメッセージを表示する代替例

利用者に伝えたいメッセージは、ページ内の文章を書き換えて表示できます。次の例では、ボタンを押すとページ内の文章が変わります。

このコードの textContent は、指定した部品の中に表示する文字を設定します。すでに表示されている文字がある場合は、新しい文字に置き換わります。

<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>ページ内に通知を表示する例</title>
</head>
<body>
  <button id="messageButton" type="button">メッセージを表示</button>
  <p id="message">ここに結果が表示されます。</p>

  <script>
    const button = document.getElementById("messageButton");
    const message = document.getElementById("message");

    button.addEventListener("click", function () {
      message.textContent = "ボタンが押されました。";
    });
  </script>
</body>
</html>

実行結果:ボタンを押すと、「ここに結果が表示されます。」が「ボタンが押されました。」に変わります。ブラウザのステータスバーではなく、ページ内に結果が表示されます。

画面内に通知を出す別の方法は、【JavaScript入門】alertを使わずに通知を表示する方法|モーダル・トースト・カスタムダイアログを初心者向けに解説でも紹介しています。

ブラウザで動かないときの確認ポイント

MDN Web Docsの Window.status と Window.defaultStatus の説明では、これらは標準化されていない機能として扱われています。設定した文字が画面に表示されない場合は、ページ内にメッセージを表示する代替例と、ステータスバーの表示を分けて考えてください。

補足:標準化されていないとは?
さまざまなブラウザで同じ動きになるように決められた共通の約束に含まれていない、という意味です。

MDN Web Docsの説明だけでは、ブラウザごとの制限理由や、バージョンごとの動作の違いを一律に説明できません。特定のブラウザやバージョンでの動作を調べる場合は、そのブラウザとバージョンを確かめたうえで、対応する公式資料を参照してください。この記事では、バージョンごとの比較は扱っていません。

まず、ステータスバーの表示とページ内表示を分けて確認しましょう。ページ内の代替例で文章が変わるかを確かめると、ボタン操作とページ内表示の流れを確認できます。

  • コードをHTMLファイルとして保存し、ブラウザで開いているか確認する。
  • ボタンを押しているか確認する。コードを置いただけでは、クリック時の処理は実行されません。
  • ページ内の代替例で、文章が「ボタンが押されました。」に変わるか確認する。
  • ページ内の文章は変わるのにステータスバーだけが変わらない場合は、設定した文字が表示されない環境の可能性があります。

公式情報で確認できること

ブラウザごとの細かな動作を調べるときは、対象のブラウザ名とバージョンを記録し、各ブラウザの公式資料を確認してください。MDN Web Docsでは、次のページで Window.status と Window.defaultStatus の説明を確認できます。この記事では、個別のブラウザやバージョンごとの差を確認した結果は示していません。

資料に書かれた機能の説明と、特定のブラウザ版での画面表示は分けて考えましょう。この記事では特定のブラウザ版ごとの対応表は示していません。

よくある質問(FAQ)

Q1

status と defaultStatus の違いは何ですか?

A

従来は、status がその時点の文字、defaultStatus が通常時の文字を設定する役割でした。現在は、どちらもステータスバーに表示されるとは限りません。

Q2

コードを書いたのにステータスバーが変わらないのはなぜですか?

A

設定した文字がブラウザの表示に反映されるとは限らないためです。利用者に伝えるメッセージは、ページ内に表示してください。

Q3

コードを置くだけで文字は表示されますか?

A

クリック時に実行するコードは、対応するボタンを押す必要があります。記事内の例にはボタンを含めています。

Q4

代わりに何を使えばよいですか?

A

ページ内の文章を書き換えてメッセージを表示する方法が使えます。代替例では、ボタンを押すとページ内の文章が変わります。



まとめ

  • status はその時点の文字、defaultStatus は通常時の文字を設定するために使われた名前です。
  • 2つの名前が表す役割は歴史的な説明で、現在のブラウザで表示を期待できる方法ではありません。
  • ステータスバーに文字が見えない場合は、ページ内表示の結果と分けて考えます。
  • 利用者に伝えるメッセージは、ページ内の文章を書き換えて表示できます。

次は、ページ内に通知を表示する別の方法を学んでみましょう。JavaScript Windowカテゴリの学習はJavaScript Timerロードマップ|初心者が最短で時間制御を理解するためのガイドから、JavaScript全体の学習順序はJavaScript ロードマップ|基礎からDOM・イベント・フォーム操作まで体系的に学ぶガイドから確認できます。

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

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

-Window(ウィンドウ操作)

執筆者: