Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Hintergrundmelodie automatisch abschalten





Frage

Hallo! Ich habe eine Hintergrundmelodie auf einer meiner WEB-Seiten. Wenn ich eine andere Seite aufrufe läuft die Melodie bis zum Enden weiter. Wie kann ich erreichen, dass beim Seitenwechsel auch automatisch die Melodie beendet wird? Die Melodie ist wie folgend in die Seite eingebunden: <!-- für Microsoft IE: --> <bgsound src="lied.mid" loop="0"> <!-- Für Netscape: --> <embed src="lied.mid" autostart="true" loop="" hidden="true" height="0" width="0"> Der Seitenwechsel erfolgt mit dem Tag: <a href="runview.html" target="haupt" title="zur nächsten Seite">[weiter]</a> Wer hat eine Lösung? Danke

Antwort 1 von sutadur

Das liegt daran, dass die Musik in einem Frame abgespielt und der übrige Inhalt in einem anderen Frame angezeigt wird. Beim Klick zu einer anderen Seite verändert sich nur der Frame mit dem "übrigen Inhalt", nicht der Frame mit der Musik. Darum läuft die auch weiter. Abhilfe schafft hier entweder, die Musik in den Frame "haupt" einzubinden oder den Link mit JavaScript so modifizieren, dass ein Mausklick beide Frames verändert.

Antwort 2 von Paul52

Nachtrag:
Die Seite mit der Melodie befindet sich im gleichen Frame, wie die Seite, die aufgerufen werden soll. Wie müsste der Javascript-Code für mein Problem lauten?

Antwort 3 von rfb

verpass deinem Code eine ID:
<!-- für Microsoft IE: --> 
<bgsound src="lied.mid" loop="0" id="mucke1"> 
<!-- Für Netscape: --> 
<embed src="lied.mid" autostart="true" loop="" hidden="true" height="0" width="0" id="mucke2">


eine kleine JavaScript:-Funktion im head-Bereich der Seite:
<script type="text/javascript">
<!--
endlichruhe() {
document.getElementById("mucke1").src="lautlos.wav";
document.getElementById("mucke2").src="lautlos.wav";
}
//-->
</script>


eine kleine Ergänzung im body-tag:
<body onunload="endlichruhe()">


Wirkungsweise:
beim Verlassen der Seite (
onunload
) wird die Funktion
endlichruhe()
aufgerufen, die einfach die Musikdatei in den HG-Musik-tags austauscht gegen lautlos.wav, die müsstest du noch selbst kreieren.

PS: Da in meinem Browsern das HG-Gedudel grundsätzlich blockiert ist konnte ich die Funktion allerdings nicht testen.

PS2: du hast keine lautlos.wav?
Falls du Windows verwendest:
öffne Start/Programme/Zubehör/Unterhaltungsmedien/Audiorecorder
einfach im Menü "Datei/Speichern unter" eine lautlos.wav erzeugen. Fertig!

Antwort 4 von Paul52

Danke, rfb! Werde es gleich ausprobieren.
Schönen Sonntag noch.
MfG

Antwort 5 von sutadur

Zitat:
Da in meinem Browsern das HG-Gedudel grundsätzlich blockiert ist konnte ich die Funktion allerdings nicht testen.

Hättest Du das trotzdem nicht kurz aktivieren können? Ich denke schon, dass man solche Hinweise vor der Weitergabe zumindest mal kurz ausprobieren sollte. Das ist nun wirklich nicht zuviel verlangt ...

Antwort 6 von rfb

Zitat:
Das ist nun wirklich nicht zuviel verlangt ...
naja, sutador, ich glaub das ist nicht die einzige Ansicht, die wir nicht teilen. Ich teste ja sonst alles gerne aus, aber ein Frameset mit HG-Mucke ist mir denn wirklich zu aufwändig.

Aber ich wünsche allen trotzdem einen schönen 2ten Advent.

Antwort 7 von Paul52

@rfb:
Leider funktioniert dein Vorschlag nicht, auch nach einer Fehlermeldung und Einfügen von function vor endlichruhe() läuft die Melodie unbeindruckt bis zum Ende weiter.

Ich denke, man kann keinen neuen Sound (lautlos.wav) laden bevor der laufende Sound beendet ist!?

Währe es nicht möglich, die Seite über einen close-Befehl zuschliessen, wenn man die Seite verlässt? Das würde doch einen Klick auf den Schliessenbutton [x] entsprechen und somit würde auch der Audiorecorder beendet werden. Oder?

Antwort 8 von Paul52

Nachtrag:
Ich habe deinen Vorschlag nicht im Frameset getest, sondern extern. Kann es vielleicht daran liegen, dass es nicht funktioniert?

Antwort 9 von sutadur

Poste doch mal eine URL, wo man sich das ganze mal genauer anschauen kann.

Antwort 10 von rfb

Zitat:
Ich denke, man kann keinen neuen Sound (lautlos.wav) laden bevor der laufende Sound beendet ist!?
doch sollte gehen, auf der HP meines Sohnes gabs sowas mal. Versuch mal dies hier (musste anpassen - ist direkt von eben genannter HP):
function sound(musik)
{
musik = ´<embed src="´ + musik + ´" autostart="true" loop="1" hidden="true" type="audio/x-midi">´;
if (document.all)
 {
 midi.innerHTML = musik;
 }
else if (document.midi)
 {
 document.midi.document.write(musik);
 document.midi.document.close();
 }
}


<div id="midi" style="position:absolute; visibility:show; left:30px; top:-10px; z-index:5"><embed src="nix.wav" autostart="true" loop="1" hidden="true" type="audio/x-midi"></div>


Antwort 11 von Paul52

@rfb:
Dein letzter Vorschlag funktioniert leider auch nicht. Habe es jetzt so gelöst, indem ich nur den Link erweitert habe.
<a href="runview.html" onMousedown="document.close(); window.location.href=´runview.html´; return true;" target="haupt" title="zur nächsten Seite">[weiter]</a>

Mit Klick auf den Link wird die Seite geschlossen und der Audiorecorder beendet. Habe es zwar erst extern probiert. Ich hoffe, dass es im Frame auch funktioniert.

Danke nochmal für die Hilfe und einen schönen 2. Advent.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: