(wie im Menü-Frame ganz unten)
A) Verwendung auf einer normalen Seite (Seite kann auch in einem Frame sein)
Inhalt der Seite, innerhalb <body>...</body> (möglichst am Ende):
(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()"> <input type="button" value="Wiederholen" onmousedown="selectSound(this.form.track)"> </p> </form>
Inhalt von js/playsound.js:
// 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
Inhalt der Datei (meist index.htm), innerhalb <head>...</head>:
<script language="JavaScript" src="js/playsound.js" type="text/javascript"> </script>
Inhalt der Datei (meist index.htm), innerhalb <body>...</body>, nach suffixHTML=... (beachte: 3x "parent." eingefügt, suffixHTML):
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+=' \n' suffixHTML+=' <input type="button" value="Wiederholen" '+sx+'onmousedown="parent.selectSound(this.form.track)">\n' suffixHTML+=' <nobr></p>\n' suffixHTML+='</form>\n'
Inhalt von js/playsound.js (siehe oben)