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?
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:
eine kleine JavaScript:-Funktion im head-Bereich der Seite:
eine kleine Ergänzung im body-tag:
Wirkungsweise:
beim Verlassen der Seite (
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!
<!-- 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
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.
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.Das ist nun wirklich nicht zuviel verlangt ...
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?
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?
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):Ich denke, man kann keinen neuen Sound (lautlos.wav) laden bevor der laufende Sound beendet ist!?
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.
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.

