BGM Selector

Description:

音楽をプルダウンメニューから選択する事が出来ます。 一つの音楽ファイルに対して一つのHTMLファイル…というのだと大変だと思いますので、 HTMLファイル一つで音楽を選ぶ事が出来るようになっています。フレームや別ウインドウで開く場合にいいかもしれません。

なんとなくdocument.searchを使ったのが作りたくて作りました。

クエリー文字列を使用するので、 古いブラウザなどではオンライン上でないと動作確認出来ない事があります。

Demo:

デモをみる。

Source:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>

</head>

<body onload="bgmselectorCurrentBGM()">


<script language="JavaScript" type="text/javascript">
<!--
var bgmpath = ""; //"..."の中に初回アクセス時(デフォルト)の音楽ファイルへのパスを書ける。

function bgmselectorCurrentBGM(){
 if(bgmpath == "") return;
 var obj = document.bgmparent.bgmselect;
 for(i=0; i<obj.length; i++) {
   var val = obj.options[i].value;
   if(val == bgmpath) { obj.options[i].selected = true;}
 }
}

function bgmselector(obj) {
 var query= obj.options[obj.selectedIndex].value;
 var url = ((location.href).indexOf("?") != -1)
           ? (location.href).substring(0, (location.href).indexOf("?"))
           : (location.href);
 if(query != "") {
   location.href = url +"?"+ query;
  } else {
   location.href = url;  
  }
}

if(location.search != "" && location.search != "?") {
  var chrat = location.search.indexOf("?");
  bgmpath = location.search.substring(chrat+1, location.search.length);
}

if(bgmpath != "") {
  document.write("<bgsound src='" +bgmpath+ "' loop='infinite'>");
  if(navigator.appName.indexOf("Netscape") != -1) {
    document.write("<EMBED SRC='" +bgmpath+ "' WIDTH=0 HEIGHT=0 PANEL=0 AUTOSTART=TRUE REPEAT=TRUE>");
  }
}
//-->
</script>

<form method="post" name="bgmparent">
<!-- value=".."の中に音楽ファイルのパスを記入 -->
<select name="bgmselect" onChange="bgmselector(this)">
<option value="">--SELECT BGM--
<option value="../_image/midi/a110.mid">BGM1
<option value="../_image/midi/a33.mid">BGM2
<option value="../_image/midi/a71.mid">BGM3
<option value="../_image/midi/a76.mid">BGM4
</select>

</form>


</body>
</html>

Advice:

Arrangement:

Browser:

Internet Explorer3.0以上
Netscape Navigator2.0以上