Wrox Home  
Search P2P Archive for: Go

  Return to Index  

javascript_howto thread: Mulitiple Midi File dropdown for both IE and Netscape


Message #1 by bfulbright@u... on Tue, 5 Mar 2002 09:48:43
How can I create a script that will display mulitple Midi files that will 
execute in both IE and Netscape?

Here is an example of one I am trying, but seem to be getting an error 
message I can't figure out... ERROR: 'document.all.music' is not an object.

I am also getting an "unterminated string" error at line 148 on my trial 
site:
http://2100solutions.dynu.com/hotguitar/index.htm (click on Music 
Downloads in the Left Frame)...

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
songNum = new Array();
songNum[0] = "#";
songNum[1] = "betterdaysahead-pmetheney.mid";
songNum[2] = "james-pmetheny.mid";
songNum[3] = "lakes-pmetheny.mid";
songNum[4] = "phasedance-pmetheny.mid";
songNum[5] = "byrdland.mid";
songNum[6] = "lullabyeofbyrdland.mid";
songNum[7] = "inamellowtone.mid";
songNum[8] = "maidenvoyage-hancock.mid";
songNum[9] = "hornbandboogie.mid";
songNum[10] = "wave-samba.mid";
songNum[11] = "zztop_lagrange.mid";
songNum[12] = "littlewg1.mid";

var music = null;
var track = 0;
var ver = navigator.appName;

//  ----------Check For "LiveAudio" With Netscape------------
function audioCheck(plugName) {
    for (var i = 0; i < navigator.plugins.length; i++) {
         if (navigator.plugins[i].name.toLowerCase() == 
plugName.toLowerCase()) {
             for (var j = 0; j < navigator.plugins[i].length; j++) {
                 if (navigator.plugins[i][j].enabledPlugin) {
                   return true;
                 }
             }
            return false;
         }
    }
    return false;
}

//  ----------Change Songs & Play with IE-----------
function chooseSong(s) { 
    track = s.options[s.selectedIndex].value; 
    if (ver=="Microsoft Internet Explorer") {
        document.all.music.src = songNum[track]; 
    } else {
        songPlay('play');
    }
}

//  ---------Plays songs with Netscape-------
function songPlay(cmd) {
    if (audioCheck("LiveAudio")) {
        if (cmd=='play') {
            document.musicSource.play(false, songNum[track]);
        }
    } else {
        alert("You Do Not Have The Correct Plugin");
    }
}

// END -->
</HEAD>

<BODY>

<form name=choose>
<font face="Tahoma">
<select size=1 name=track onChange="chooseSong(this);">
<option value="0">Click for Music</option>
<option value="1">Better Days Ahead - Metheny</option>
<option value="2">James - Metheny </option>
<option value="3">Lakes - Metheny</option>
<option value="4">Phase Dance</option>
<option value="5">Birdland</option>
<option value="6">Lullabye of Birdland</option>
<option value="7">In A Mellow Tone</option>
<option value="8">Maiden Voyage</option>
<option value="9">Horn Band Boogie</option>
<option value="10">Wave</option>
<option value="11">La Grange - ZZ Top</option>
<option value="12">Little Wing - SRV</option>
</select>
<input type=button onMouseDown="chooseSong(document.choose.track)"
value=" Play ">
</font>
</form>
 
<script language="JavaScript">
<!-- Begin
var ver = navigator.appName;
if (ver=="Microsoft Internet Explorer") {
    document.write('<BGSOUND SRC="#" ID=music LOOP=1 AUTOSTART="true">');
} else {
    document.write('<EMBED TYPE="audio/midi" SRC="wave-samba.mid" 
AUTOSTART="FALSE" HIDDEN="TRUE" VOLUME="90" 
NAME="musicSource" MASTERSOUND></EMBED>');
}
// End -->
</script>
</body>

ANY SUGGESTIONS??

thanks...


  Return to Index