So ähnlich heute auf freenet.de gelesen und etwas universeller gemacht. Nur IE.
Hi, aber die Lösung funktioniert nur beim MSIE, gibt es da auch was für Netscape?
Das es nur mit IE geht, hatte ich ja schon geschrieben. Siehe 1. Zeile.
Beim Netscape ist das schwierig. Da muß man entweder
a)
mit <embed>-Tags arbeiten (bei freenet.de steht noch einer drin, wird aber nicht angesteuert, wohl da es sowieso nicht funktioniert). SelfHTML hat auch etwas zum embed-Tag. Das Problem ist daß je nach Version des Browsers mit dem embed-Tag andere Plugins angesteuert werden müssen. Zudem werden bei Minimalinstallation gar keine Plugins installiert.
Fazit: Der embed-Tag läuft meist nicht.
b)
ein Mini-PopUp-Öffnen mit Quelle=sounddatei. Funktioniert einwandfrei. Siehe http://forum.de.selfhtml.org/?m=5604&t=895.
Das sieht aber unschön aus und geht nach dem Abspielen nicht von selber zu. Das geht aber mit onmouseout, allerdings stoppt der Sound dann abrupt. Deswegen habe ich einen Timer eingebaut, in dem man für NS eine Wartezeit nach Mouseout einstellen kann.
Lösung mit Mini-PopUp (unschön, aber sicher. Voraussetzung: NS-Vollinstallation, keine Minimalinstallation):
<head>
<SCRIPT language=JavaScript>
<!--
// Sound:
var PopUp = null; // global für function Sound(datei)
function Sound(datei) {
if (document.all) // IE, gefunden bei freenet.de
{
if (datei)
document.all.sound.src = datei;
}
else // nur für NS, (C) 2001 http://www.bitwelt.de
{
// Verzichtet voll auf <embed>-Tag, das nur für NS gilt, von Version zu Version unterschiedlich ist (andere Plugins)
// und meist nicht läuft.
if (PopUp != null)
if (PopUp.closed==false)
PopUp.close()
var pos=",left="+screen.width+",top=0" // ",top="+screen.height*2
if (datei)
PopUp = window.open (datei, "Musik", "toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizeable=no,copyhistory=no,width=200,height=20"+pos) ;
// Zum Abspielen wird eine NS-Vollinstallation benötigt, keine Minimal-Installation
}
}
function CloseNSSound(sec) // Wartezeit nach Mouseout für NS in Sekunden
{
setTimeout("Sound()",sec*1000)
}
//-->
</SCRIPT>
</head>
<body>
<BGSOUND id=sound>
<A onmouseover="Sound('hohoho.wav');return true" onmouseout="CloseNSSound(1.1);return true" href="javascript:;"><img src="santa.gif"></A>