今日は、JavaScript のダイアログ ボックスとステータス バーについて簡単に説明します。
JavaScript とダイアログ:
-
3 つのダイアログ ボックス アイコン:
クライアント ブラウザでは、単純なダイアログ ボックスをポップアップするために、alert()、confirm()、prompt() という 3 つの一般的な Windows メソッドが使用されます。 alert() は、ユーザーにメッセージを表示するために使用されます。 confirm() では、ユーザーが [確認] または [キャンセル] をクリックする必要があります。プロンプト() はユーザーに文字列の入力を求めます。下の 3 つの図はそれぞれ、alert()、confirm()、prompt() です。
alert() ダイアログ ボックス プロンプト
confirm() ダイアログ ボックス プロンプト
prompt() ダイアログプロンプト
-
3 つのダイアログ ボックスの概要:
alert() メソッドによってポップアップされるダイアログ ボックスには、ユーザーに注意を促すためのプロンプト情報のみが表示されます。
confirm() メソッドは、ユーザーに確認するかどうかを尋ねるために使用され、確認とキャンセルの 2 つのボタンが表示されます。 if/else 構造と同等で、確認ボタンをクリックすると次のプログラムが継続して実行され、キャンセルボタンをクリックすると false が返されます。
prompt() メソッドには入力ボックスがあり、ユーザーが入力ボックスに入力した内容が返されます。目的はユーザーからの意見を取得することです。
-
ダイアログ ボックスのブロック プロセスの概要:
confirm() と prompt() は両方ともブロックされます。つまり、表示されるダイアログ ボックスをユーザーが閉じるまで戻りません。また、ダイアログ ボックスが表示されるとコードの実行が停止することも意味します。ドキュメントが現在ロード中の場合、ユーザーが必要な入力に応答するまでロードも停止します。これらのメソッドの戻り値はユーザー入力であるため、これらのメソッドがブロックされるのを防ぐ方法はありません。そのため、戻る前にユーザー入力を待つ必要があります。
ほとんどのブラウザでは、alert() もブロックされ、ユーザーがダイアログ ボックスを閉じるまで待機します。ただし、一部のブラウザ (特に UNIX プラットフォーム上の Netscape 3 および 4) では、alert() メソッドはブロックしません。ただし、Fedora 11 でテストすると、当然、Netscape を使用せずに Firefox ブラウザを使用してテストしましたが、これもブロックされました。しかし、Rhino の作者は次のように述べています:
実際には、この小さな非互換性が問題を引き起こすことはほとんどありません。
alert()、confirm()、prompt() の使用法:
alert('これはアラート プロンプトです。理解していますか?');
confirm('これは確認プロンプトです。見る気はありますか? ');
prompt('さあ、ハンサム、あなたの名前を教えてください');
javascript とステータス バー:
ユーザーがハイパーリンク上にマウスを置くと、ブラウザはステータス バーにハイパーリンクが指す URL アドレスを表示します。ただし、マウスをハイパーリンクまたは画像の上に置くと、リンク アドレスの代わりにステータス バーにテキストが表示されることがあります。
JavaScript では、ブラウザのステータス バーのコンテンツは、Window オブジェクトの 2 つのプロパティ、つまり status とdefaultStatus によって制御されます。したがって、JavaScript を使用して、ステータス バーのデフォルトの動作を変更し、ユーザーに表示したい情報を表示できます。
ステータス属性は主に一時的なメッセージを保存するために使用されます。つまり、ステータス バーの情報はトリガー イベントが発生した場合にのみ変更されます。 defaultStatus 属性は、ステータス バーに表示されるデフォルトのテキストを指定します。トリガーイベントが発生した場合のみ、ステータスバー上のテキストが指定されたステータスに置き換えられます。それ以外の場合は、defaultStatus 属性で指定された内容が常に表示されます。
上記の例のイベント ハンドラは true を返す必要があります。これは、イベントの発生時にデフォルトのアクションを実行しないことをブラウザに通知します。つまり、返されなかった場合はリンク URL がステータス バーに表示されないことになります。 true の場合、ブラウザはハンドラーによってステータス バーに表示される情報を独自の URL で上書きします。
defaultStatus の別の例を見てみましょう。ページのステータス バーのデフォルト値を次のように設定します。このサイトへようこそ、来てくれてありがとう。
defaultStatus = 'このサイトへようこそ、来てくれてありがとう';
window.defaultStatus =defaultStatus;
コードのデモと説明:
多分、あなたはステータスバーに表示される情報が表示されない場合は、以下の方法をお役に立てば幸いです:
Firefox の場合:
2. [コンテンツ] タブをクリックします
3. [JavaScript] オプションがオンになっていることを確認します
4. [詳細設定] ([JavaScript を有効にする] オプションの横) をクリックします
5. [ステータス バーのテキストを変更] オプションをオンにします
6. [OK] をクリックしてこの画面を保存します
7. [OK] を再度クリックします
Internet Explorer の場合:
1. [セキュリティ] タブをクリックします
3 . [インターネット] オプションが選択/強調表示されていることを確認します
4. [カスタム レベル…] をクリックします (これにより、インターネット ゾーンのセキュリティ設定が起動します)
5. [スクリプトによるステータス バーの更新を許可] が表示されるまで下にスクロールします。スクリプト オプション) をクリックします
6. [OK] をクリックしてこの画面を保存します
7. もう一度 [OK] をクリックします