Musik-Menü

(wie im Menü-Frame ganz unten)

A) Verwendung auf einer normalen Seite (Seite kann auch in einem Frame sein)

(Tipp: Das Script sollte nicht direkt nach <body>, sondern direkt vor </body> eingefügt werden. Dann wird die eigentliche Seite zuerst aufgebaut und erst dann das Script geladen. Die Seite wird somit schneller angezeigt. Und sollte einmal ein Fehler im Script auftauchen und die Script-Verarbeitung somit abbrechen, so wird die Seite trotzdem angezeigt. Nach einem Script-Fehler wird nämlich auch der Aufbau der HTML-Seite gestoppt!)

<script language="JavaScript" src="js/playsound.js" type="text/javascript">
</script>
<form>
  <p align="center">
    <select name="track" size="1" onchange="selectSound(this)">
      <option>Musik auswählen (Geduld!)
      <option value="sounds/Eurythmics_HereComesTheRainAgain.mid">Eurythmics: Here Comes The Rain Again
      <option value="sounds/lbmambo.mid">Mambo No. 5
      <option value="sounds/LippsInc_Funkytown.mid">Lipps Inc.: Funkytown
      <option value="sounds/PhilCollins_Against.mid">Phil Collins: Against...
      <option value="sounds/saturn.wav" loop=1>Test: saturn.wav (1x)
      <option value="sounds/saturn.wav">Test: saturn.wav (unendlich, NS nur 1x)
    </select> <br />
    <!-- Im Folgenden reagiert onmousedown wesentlich schneller, leider aber nicht auch auf die Tastatur wie onclick -->
    <input type="button" value=" STOP " onmousedown="playSound()">
    &nbsp;&nbsp;&nbsp;
    <input type="button" value="Wiederholen" onmousedown="selectSound(this.form.track)">
  </p>
</form>
// Original:  Nicholas Loar, http://www.cass.net/~anarchy
// This script and many more are available free online at
// The JavaScript Source!! http://javascript.internet.com

// Netscape-Method from Luc Sillis, mailto:luxil@village.uunet.be

// Script strongly optimized and improved by Frank Bergermann
// http://www.bitwelt.de http://www.frankbergermann.de

// Begin

var musicPopUp;	// Siehe unten

function selectSound(sel) {
	var opt=sel.options[sel.selectedIndex]
	playSound(opt.value,opt.loop)
}

function playSound(datei,loop) {
  if (document.all){	// erst ab MSIE4 nutzbar
    document.all.music.src = datei;
    if(loop)
      document.all.music.loop = loop;
    else
      document.all.music.loop = "infinite";	// Hier Standard-Wiederholung einstellen
      // Nur IE. infinite = unendlich, sonst eine Anzahl.
      // Empfehlung: Standard=infinite, bei Wav-Dateien <option ... loop=1> angeben.
      // Sonst umgekehrt: Standard=1, bei Midi-Dateien <option ... loop=infinite> angeben.
  } else {
    // Verzichtet voll auf <embed>-Tag, das von Version zu Version unterschiedlich ist (andere Plugins)
    // und meist überhaupt nicht läuft. (C) 2001 Frank Bergermann, http://www.bitwelt.de
    if (musicPopUp)
      if (!musicPopUp.closed)
        musicPopUp.close()
    var pos=",left="+(screen.width-190)+",top=0"	// Wichtig: Klammern
    if (datei)
      musicPopUp = window.open (datei, "Musik", "resizeable,width=180,height=20"+pos) ;
      // Zum Abspielen wird eine NS-Vollinstallation benötigt, keine Minimal-Installation
  }
}

// Sound stoppbar mit: playSound()

/*
Der in der folgenden if-Abfrage enthaltene bgsound-Tag kann auch direkt
in den Dokument-Head eingebunden werden.
Dann funktioniert es auch mit Scripting=Ja+Einfügeoperationen=Nein.
Dann aber hier löschen, sonst läuft es nicht mehr, weil bei doppelter Namensverwendung
ein Array erzeugt würde, das anders angesprochen wird.
*/
if (document.all)
  document.write('<bgsound ID=music>')

// End

B) Verwendung innerhalb des Baumstruktur-Menüs

<script language="JavaScript" src="js/playsound.js" type="text/javascript">
</script>
suffixHTML+='<form>\n'
suffixHTML+='  <p align="center">\n'
suffixHTML+='    <select name="track" size="1" onchange="parent.selectSound(this)">\n'
suffixHTML+='      <option>Musik auswählen (Geduld!)\n'
suffixHTML+='      <option value="sounds/Eurythmics_HereComesTheRainAgain.mid">Eurythmics: Here Comes The Rain Again\n'
suffixHTML+='      <option value="sounds/lbmambo.mid">Mambo No. 5\n'
suffixHTML+='      <option value="sounds/LippsInc_Funkytown.mid">Lipps Inc.: Funkytown\n'
suffixHTML+='      <option value="sounds/PhilCollins_Against.mid">Phil Collins: Against...\n'
suffixHTML+='      <option value="sounds/saturn.wav" loop=1>Test: saturn.wav (1x)\n'
suffixHTML+='      <option value="sounds/saturn.wav">Test: saturn.wav (unendlich, NS nur 1x)\n'
suffixHTML+='    </select>\n'//+(navigator.appName.indexOf('Netscape')==-1?'<br />\n':'')
suffixHTML+='    <!-- Im Folgenden reagiert onmousedown wesentlich schneller, leider aber nicht auch auf die Tastatur wie onclick -->\n'
suffixHTML+='    <nobr><input type="button" value=" STOP " '+sx+'onmousedown="parent.playSound()">\n'
suffixHTML+='    &nbsp;&nbsp;&nbsp;\n'
suffixHTML+='    <input type="button" value="Wiederholen" '+sx+'onmousedown="parent.selectSound(this.form.track)">\n'
suffixHTML+='  <nobr></p>\n'
suffixHTML+='</form>\n'