19.外部ファイルを使ったパスワード(プロンプト編)
先ほどのパスワードをフォームからプロンプトに置き換えたスクリプトです。こちらも外部ファイル(拡張子が *.js のファイル)を使って実装しています。
(HTML文書)
<HTML>
<TITLE>Password</TITLE>
<SCRIPT language="JavaScript" src="pass_prompt.js">
</SCRIPT>
<BODY>
<a href="javascript:pass()">ここ</a>をクリックするとパスワードが出ます。
</BODY>
</HTML>
(外部ファイル pass_prompt.js)
function pass(){
res=prompt("パスワードを入力してください。","password"); //(1)
if(res==null)alert("パスワード入力を中止します。"); //(2)
else if(res == ""){ alert("パスワードを入力してください。");pass();} //(3)
else if(res == "Ayu&Risky"){location.href="http://www18.freeweb.ne.jp/art/hasky/index.html";} //(4)
else if(res == "ayumi"){location.href="http://www18.freeweb.ne.jp/art/hasky/ayu/profile/.html";}
else if(res == "wakako"){location.href="http://www18.freeweb.ne.jp/art/hasky/risky/profile.html";}
else if(res == "Flyhigh"){location.href="http://www18.freeweb.ne.jp/art/hasky/link/link.html";}
else if(res == "SEASONS"){location.href="http://www18.freeweb.ne.jp/art/hasky/ayu/disco.html";}
else if(res == "Mylifeis"){location.href="http://www18.freeweb.ne.jp/art/hasky/risky/disco.html";}
else {alert("パスワードが間違っています。");pass();} //(5)
}
(説明)
スクリプトを実行するのに必要な外部ファイルを作成します。拡張子は「*.js」とします。ファイル名はここでは「pass_prompt.js」としましたが、任意ですのでわかりやすいファイル名にした方がいいでしょう。
(1)の「res=prompt("パスワードを入力してください。","password");」ではプロンプト画面に最初に表示される文章とデフォルトの文字列を書きます。resは変数(パスワードの文字列)を表します。promptのあとに続くカッコの中の「""」(ダブルクォーテーション)は左側が最初に表示される文章、右側がデフォルトで表示される文字列です。
(2)の「if(res==null)alert("パスワード入力を中止します。");」ではnullつまりキャンセルボタンが押されたときに「パスワード入力を中止します」というアラートを出し、プロンプトを終了します。
(3)の「else if(res == ""){alert("パスワードを入力してください。");pass();}」では「res == ""」つまりフォームに文字列がない状態のときに「パスワードを入力してください。」というアラートを出し、「pass();」を呼び出して再びプロンプトを表示させます。
(4)の「if(res == 'Ayu&Risky'){location.href='http://www18.freeweb.ne.jp/art/hasky/index.html'}」でresの部分には任意のパスワード(もちろん半角英数字)を、location.hrefの部分にはそのパスワードが入力されたときにジャンプするリンク先のURLを入力します。URLは相対パス、絶対バスどちらでもかまいません。if〜else文を用いることでパスワードによってそれぞれのページにジャンプすることができます。 もし違っている場合は(5)の「else {alert("パスワードが間違っています。");pass();」で「パスワードが間違っています。」というアラートを出し、「pass();」を呼び出して再びプロンプトを表示させます。つまりパスワードが一致するか、キャンセルボタンが押されない限り無限にループすることになります。
フォームにパスワードを入力してOKボタンをクリック、またはENTERキーを押すと指定したページにジャンプします。詳しいことは18番と同じなのでそちらをご覧ください。
このサンプルでのパスワードとそれに対応するリンク先は以下の通りです。
パスワード |
リンク先のページ |
Ayu&Risky |
Ayu&Riskyトップページ |
ayumi |
浜崎あゆみプロフィール |
wakako |
島崎和歌子プロフィール |
Flyhigh |
Ayu&Riskyリンクコーナー |
SEASONS |
あゆディスコグラフィー |
Mylifeis |
和歌子ディスコグラフィー |
大文字、小文字を区別しますので間違えないでください。
(パスワード使用上の注意)
パスワードについては、一部のプロバイダおよびホームページサーバーでは使用を禁止しているところがあります。(私が加入している無料ホームページ「Freeweb」では規則に「パスワード等隠しコンテンツ禁止」と書いてありました。)したがって使用する際はプロバイダおよびホームページサーバーの規則を見るか、もしくは問い合わせてみてください。