otario: Safari embed Problem (Nur im Safari ;o)

Hallo,

folgendes Problem:

Ich schreibe mit javascript ein embed-objekt in eine Datei, um ein Neuladen der Page zu verhindern. In allen Browser funktioniert das Abspielen der eingebetten Audio-File einwandfrei ... beim Anklicken der nächsten Datei, wird das Abspielen der anderen Datei beendet, nur der  Safari scheint mehrere Playinstanzen im Hintergrund zu öffnen und abzuspielen, sodass die Dateien sich beim Abspielen überlagern. Ich habe jetzt zwei Stunden alle Quicktime- und Safari-Optionen durchstöbert und Google bemüht, ohne jedoch das Problem in den Griff zu bekommen. Den Mac habe ich vor wenigen Monaten gekauft und in der Grundkonfiguration gab es keinerlei Probleme erst nach dem Einspielen des letzten Safari-Updates tauchte das Problem plötzlich auf. Daher vermute ich, dass es irgendeine Einstellung für den Safari gibt, welche das Problem wieder behebt!?

Besten Dank

Otario

  1. Hallo otario,

    <werbung>
    Du möchtest Musik auf einer Webseite abspielen? Noch dazu mit einem nicht existierenden Tag namens "embed"? Und dann noch möglichst plattformunabhängig?
    Dann solltest du dir auf jeden Fall den EMFF anschauen!
    </werbung>

    ;-)

    Grüße

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
  2. Hallo otario,

    Hallo,

    nur der  Safari scheint mehrere Playinstanzen im Hintergrund zu öffnen und abzuspielen, sodass die Dateien sich beim Abspielen überlagern.

    Hast du denn schon einmal probiert, bevor du das neue EMBED-Element generierst, das du über ID und/der Namen oder die EMBEDS-Collection ja wahrscheinlich auch ansprechen kannst, das alte mittels der Methode Stop() zu stoppen? Wenn im Safari wirklich mehrere Instanzen entstehen, dann müsste es doch, vorausgesetzt, dass Safari diese Collection kennt, über

     document.embeds[document.embeds.length-1].Stop();  
    
    

    theoretisch zu stoppen sein, ansonsten vielleicht über

    document.getElementsByTagName('EMBED')[document.getElementsByTagName('EMBED').length-1].Stop();  
    
    

    die Methode Stop() solltest du tatsächlich groß schreiben, weil es sich um eine Quicktime- und keine JS-Methode handelt.

    Ich habe leider keinen Mac zur Hand, bei dem ich das überprüfen könnte.

    Gruß Gernot