イヌでもわかるJavaScript講座
|
Step.32 - ポップアップウィンドウ(小窓)でBGMを流す その2
|
ホームページ読みこみ時に、別ウィンドウを作ってそこで BGMを流します。 訪問者が聞きたくなければ、閉じれば良いだけです。 ホームページを移動すると、別ウィンドウも閉じます。 |
Step テーマ ● onload ページ読み込み時の処理 ● onunload ページ移動時の処理 ● open ウィンドウを開く ● closed ウィンドウが閉じているか調べる ● close 開いたウィンドウを閉じる |
実行例ポップアップウィンドウが 実行結果です。 ※ ポップアップブロックしているとウィンドウは出ません。。 |
リスト<body onload="myBGMon()" onunload="myBGMoff()"> <script type="text/javascript"><!-- myWinHandle = 0; function myBGMon(){ myWinHandle = window.open( "bgmwin.htm", "bgm", "width=360,height=250" ); } function myBGMoff(){ if ( myWinHandle.closed == false ) myWinHandle.close(); } // --></script> |
リスト -BGMウィンドウ 例-<html> <head> <title>BGM WINDOW</title> </head> <body bgcolor="#FFC0CB"> <p align="center"> Tatsuya's Home Page<br> イヌでもわかるJavaScript講座<br> <br> ♪ 今週のBGM ♪<br> 「日曜画家」<br> 作曲 K.K.<br> </p> <form><p align="center"> <input type="button" value="閉じる" onclick="window.close()"> </p></form> <p align="center"> <embed src="sunday.mid" hidden="false" loop="true" autostart="true"> </p> </body> </html> |
サンプルだけの HTMLは こちらへ |
説明前回の Step は、訪問者がボタンを押して、BGMウィンドウを開きましたが、今回はページに入るとウィンドウを開いてBGMを流します。 訪問者が聞きたくなければ、閉じるボタンを押してもらう形です。 また、違うページへ移動すると、ウィンドウを閉じるようにしています。 今回は、<BODY>タグに JavaScript を埋め込んで、ポップアップウィンドウのオープン、クローズをやってみます。 <body onload="myBGMon()" onunload="myBGMoff()"> onload は、ページの表示が終わった時に、指定の関数や命令を実行します。 onunload は、ページを移動する時に、指定の関数や命令を実行します。 onload 時に、複数の処理をしたい場合は、 onload="myFunc1();myFunc2();myFunc3();" のように並べて記述すれば、順に処理させることができます。 function myBGMon(){ myWinHandle=window.open("bgmwin.htm", "bgm", "width=360,height=250" ); } window.open は、オープンしたウィンドウ情報を戻します。これを myWinHandle に退避させておきます。 function myBGMoff(){ if ( myWinHandle.closed == false ) myWinHandle.close(); } myWinHandle.close() で、そのウィンドウを終了させます。 しかし、訪問者が小窓を 既に終了させている可能性があります。 そこで、myWinHandle.closed で、開いたウィンドウがあるかどうか調べます。 myWinHandle.closed が、false であれば、まだ、そのウィンドウはあります。true であれば、そのウィンドウは終了して(閉じて) います。 参考ステップ Step.13 リンク先を新しいウィンドウで表示してみましょう ※ window.open Step.31 ポップアップウィンドウを開いて BGMを流してみましょう その1 Step.63 ポップアップウィンドウを開いて BGMを流してみましょう その3 Step.81 アクセス毎にBGMを変えてみましょう MIDIデータは、K.K.さんからお借りしました。Thanks. "sunday.mid" Copyright (C) K.K. All rights reserved. Intermezzo http://www1.linkclub.or.jp/~medaka34/ |