Matthias: JavaScript für embeds von Soundfiles verwenden

Hallo Forum,

möchte gerne Javascript verwenden, um das embedding für diverse Soundfiles zu ermöglichen. Bislang rufe ich die Files über die BodyIDs der betreffenden HTML-Seite auf, um das entsprechende Soundfile in einem (I)Frame zu platzieren, allerdings unterschlage ich hier die embeds.
Wie müsste die präzise Codierung in JS lauten, wenn ich z.B. bgcolor="000000" kioskmode="true" etc. in das nachfolgenden externen JS setzten wollte.

Aufruf im HTML:
<a id="demo" href="javascript:file()"></a>

externes JS für die Zuordnung des betreffenden Soundfiles:
function file()
{
var file;
file = document.body.id + '.mp3';
parent.frames['lefttopFrame'].location.href = [file];
}

Wer mag mir helfen?
Viele Ostergrüße
Matthias

  1. Hallo Forum,

    keine Idee zur Anfrage, oder ist ein solches Vorgehen unter JS nicht möglich?

    Gruß
    Matthias

  2. Hallo Matthias,

    Aufruf im HTML:
    <a id="demo" href="javascript:file()"></a>

    externes JS für die Zuordnung des betreffenden Soundfiles:
    function file()
    {
    var file;
    file = document.body.id + '.mp3';
    parent.frames['lefttopFrame'].location.href = [file];
    }

    Das finde ich zwar nicht sehr elegant, denn du kannst die Musik in einem Player ja auch direkt wechseln, ohne immer gleich das Kind mit dem ganzen Bade (Player mitsamt umgebendem Dokument in einem Frame) auszuschütten.

    Dein Ansatz könnte aber sogar auch funktionieren, wenn du statt
    parent.frames['lefttopFrame'].location.href = [file];

    parent.lefttopFrame.location.href = file;

    verwenden würdest. So ganz sicher bin ich mir da jetzt auch nicht mehr.
    In manchen Browsern funktioniert vielleicht auch Folgendes:

    parent.frames['lefttopFrame'].src = file; oder
    parent.getElementsByName['lefttopFrame'][0].src = file;

    Viele Wege führen nach Rom.

    Gruß Gernot

    1. Hallo Gernot,

      vielen Dank für Deine Antwort. Für meine Anwendung ist das Vorgehen sehr zweckdienlich. Da eine Reihe von Soundfiles mit diversen HTHMs im Mainframe verknüpft sind und auf diese Weise bei Bedarf das betreffende (I)Frame auswechseln, was auch sehr gut funktioniert.
      Hast Du eine eine Idee, wie man nicht nur das File im (I)Frame aufrufen kann, sondern auch die jeweiligen embeds zu dem File bzw. mitsamt File im JS einbindet? Siehe Frage.
      Ich möchte, sofern möglich, nicht noch zu jedem MP3 eine HTML mit dem embedding gestalten, vielmehr das File ordentlich mit embeddings im/über JS komplett einbetten.

      Dir einen Gruß
      Matthias

      1. Hallo Matthias,

        Ich möchte, sofern möglich, nicht noch zu jedem MP3 eine HTML mit dem embedding gestalten, vielmehr das File ordentlich mit embeddings im/über JS komplett einbetten.

        Dafür gibt es ja die Methode document.write(). Du könntest dir also eine Funktion in die Mutterseite des IFRAMEs schreiben oder einbinden, die das im IFRAME-Element eingebundene Dokument mit einem vollständigen neuen Dokument überschreibt und dies mit document.close() abschließt. In dem per document.write() oder document.writeln() (zeilenweise) hineingeschriebenen Quellcode könnte dann auch ein EMBED-Element mit allem drum und dran vorkommen. Ob das aber so "ordentlich" ist, ist angesichts der Tatsache, dass es dieses Element nach W3C-Standard gar nicht gibt, noch zu bezweifeln.

        Gruß Gernot

        1. Hallo Gernot,

          vielen Dank für Deine Nachricht. Da ich meine Kenntnisse zum JS derzeitig aufzubauen versuche, bin ich angehalten, Deine Vorschläge etwas zu sortieren und mit meinen Möglichkeiten abzugleichen bzw. mich erst mal vertiefend kundig zu machen - was vermutlich einen kurzen Moment dauern dürfte. Derzeitig habe ich noch keine genaue Vorstellung, wie eine JS-Kodierung nach Deinem Konzept lauten könnte. Besteht eventuell die Möglichkeit, Dich auch außerhalb des Forums per email zu kontaktieren, sofern es eine Rückfrage gibt?

          Würde mich freuen, von Dir zu hören :-)

          VieleGrüße
          Matthias