Dirk J.: embed Tag entfernen

Hallo,

ich hatte schon mal gefragt:

ich habe folgendes Problem. Das Log kopiert den gesamten html-Code aus dem Hauptfenster. Dort ist ein <embed> Tag mit einer Sound Datei intregiert. Nun ist meine Frage wie ich ihn mit einem javascript entfernen kann?

Dann wurde das vorgeschlagen:

Fuer das erste embed-Element (Index 0):

document.getElementsByTagName("body")[0].removeChild(document.getElementsByTagName("embed")[0]);

MfG, Thomas

----------------------------------------------------------

Ich bekomme es nicht hin, das der Sound nicht ertönt. Anbei das Script wo ich es gerne einbauen würde.

Wäre Klasse wenn mir jemand helfen könnte. Vielen Dank.

----------------------------------------------------------

function openLog(width,height)
                {
                        var left = (screen.availWidth-width)/2;
                        var top = (screen.availHeight-height)/2;

var toDo = "";
                        if (parent.log)
                                toDo += parent.log;

if (parent.messages && parent.messages.document && parent.messages.document.body && parent.messages.document.body.innerHTML)
                        {
                                var text = parent.messages.document.body.innerHTML;
                                if (text.indexOf('Wladimir Palant -->'))
                                        text=text.substr(text.indexOf('Wladimir Palant -->')+19);
                                toDo += text;
                        }

var html = '{DOFILTER|escape_js}{INCLUDE|log_top}{ENDDO}\n';
                        var lines = toDo.split("\n");
                        var isScript = 0;
                        for (var i=0;i<lines.length;i++)
                        {
                                if (!isScript && lines[i].match(/<script>/i))
                                        isScript = 1;
                                else if (isScript && lines[i].match(/</script>/i))
                                        isScript = 0;
                                else if (!isScript)
                                {
                                        lines[i]=lines[i].replace(/ onclick="[^"]*"/ig,"").replace(/ href="javascript:[^"]*"/ig," href="javascript:void(0)"");
                                        html += lines[i]+'\n';
                                }
                        }

html += '{DOFILTER|escape_js}{INCLUDE|log_bottom}{ENDDO}';

var wnd = window.open('','log','resizable=yes,scrollbars=yes,width='+width+',height='+height+',left='+left+',top='+top);
                        wnd.document.open('text/html; charset={GET_JS|$current_language.charset}');
                        wnd.document.writeln(html);
                        wnd.document.close();
                        wnd.htmlcode = html;
                        wnd.focus();
                }
---------------------------------------------------------------

Die Sound Datei wird wie folgt aufgerufen.

{IF|$current_user.welcome}
<embed src="http://www.domain.de/STChat/chat.wav";autostart="true" hidden="true" volume="80%"></embed>
{ENDIF}

  1. Hallo,

    ich hatte schon mal gefragt:

    Du hast aber leider keine konkreten Angaben zum Aufbau des Dokuments gemacht, deshalb kam nur ein Prinzipvorschlag von mir.

    Die Sound Datei wird wie folgt aufgerufen.

    {IF|$current_user.welcome}
    <embed src="http://www.domain.de/STChat/chat.wav";autostart="true" hidden="true" volume="80%"></embed>
    {ENDIF}

    Wo steht das denn letztlich? Im BODY oder gar im HEAD?

    MfG, Thomas

    1. Hallo,

      ich hatte schon mal gefragt:

      Du hast aber leider keine konkreten Angaben zum Aufbau des Dokuments gemacht, deshalb kam nur ein Prinzipvorschlag von mir.

      Die Sound Datei wird wie folgt aufgerufen.

      {IF|$current_user.welcome}
      <embed src="http://www.domain.de/STChat/chat.wav";autostart="true" hidden="true" volume="80%"></embed>
      {ENDIF}

      Wo steht das denn letztlich? Im BODY oder gar im HEAD?

      MfG, Thomas

      Ich weiß, Sorry. Wollte es dann selber ausprobieren. Bin aber doch zu Blöd. *ggg

      Das embed steht letztlich im Body.

      1. Hallo,

        Das embed steht letztlich im Body.

        Dann sollte mein Vorschlag doch greifen, sofern es nur ein Element embed gibt, ansonsten von 0 an weiter zaehlen.

        Am besten waere es doch, das Element erst gar nicht zu erzeugen ...

        MfG, Thomas

        1. Hallo,

          Das embed steht letztlich im Body.

          Dann sollte mein Vorschlag doch greifen, sofern es nur ein Element embed gibt, ansonsten von 0 an weiter zaehlen.

          Ich bekomme es halt nicht hin.

          Am besten waere es doch, das Element erst gar nicht zu erzeugen ...

          Sicher aber es wollen nun mal einige User den Ton haben.

          1. Hallo,

            Das embed steht letztlich im Body.

            Ich bekomme es nicht hin. Wäre echt nett mir ein Beispiel Script zu schreiben.

            Es wird hiermit aufgerufen.

            <script language="JavaScript">
                                                    if (document.body && document.body.innerHTML)
                                                            document.writeln('<a href="javascript:void(0)" onclick="openLog(600,480);return false;" class="stdlink">Log</a>  ');
                                            </script>

            1. Hallo,

              Ich bekomme es nicht hin. Wäre echt nett mir ein Beispiel Script zu schreiben.

              Ich verstehe immer weniger, was Du eigentlich machen willst. Erst soll mit JS ein embed erzeugt werden und gleich darauf soll es wieder entfernt werden?

              Stelle mal eine vollstaendige Testseite online, mit den bisher geposteten Fragmenten wird das eher nichts.

              MfG, Thomas

              1. www.stadttrompeter-chat.de

                1. Sicher hört sich das verrückt an, ist es aber garnicht, da es sich um ein Chat handelt. Jeder User kann für sich entscheiden ob er ein akustisches Signal bekommen möchte, sollte sich jemand einloggen.
                  Soweit, so gut. Nun kann man im Chat den bereits geschriebenen Text über den Button Log lachlesen. Da dieser Befehl nun den gesamten html code der Seite kopiert, (darunter auch die in dem Zeitraum ausgeführten Klänge) hört man sie nun auch dann wenn man es garnicht möchte. Genau das möchte ich unterbinden.