HTML und Script in Script :-)

Moin moin,

folgendes Problem :

Ich hab einen Homepage Vote gebastelt.
das schöne Stuck rufe ich per script auf , also

Das Ergebnis ist so aber im Explorer nicht tauglich, im Firefox funktionierts.

Das Script erzeugt lauter document.write("…inhalt…");
nun ist aber in dieser Ausgabe wiederum ein

mit document.write eingebettet.

Sprich das HTML was vom CGI zurück kommt ruft nochmal das Script auf um noch mehr HTML zu bekommen.

So nach der Einleitung nun mein Problem am konkreten Fall.

Der erste Aufruf erzeugt ein DIV indem ein

was wiederum liefert.

Also
Aufrufer Seite

Aufrufer

Die 1. Ausgabe danach sieht dann so aus

Aufrufer

Wertung

Um dann auch nochmal das 2 script ausgewerte ergibt

Aufrufer

Wertung

Leider sieht man beim Internet Explorer nicht was er aus dem Script im HTML nun wirklich bastelt.

Ergebnis ist jedenfalls das im IE die bild1.jpg und bild2.jpg unterhalb der Tabelle auftauchen und nicht in der Tabelle in der Zelle.

Wer es nicht glaubt, bzw helfen kann. Hier der Code

Beispiel im IE (kaput) http://abc-xyz.no-ip.org/helptheworld/html/vote.html#

Beispiel im Firefox (funktioniert)
http://abc-xyz.no-ip.org/helptheworld/html/vote.html#

Das Script dazu zum reinschauen liegt
http://abc-xyz.no-ip.org/helptheworld/html/vote_install

Der Effekt tritt nur auf wenn ein script im script im IE aufgerufen wird.
Als Beweis hab ich die 1. Script Ausgabe als HTML Datei und dort das 2. Script drinne stehen lassen.
Siehe dort http://abc-xyz.no-ip.org/helptheworld/html/generated… und es funktioniert auch im IE , das wollte ich aber eigentlich nicht so haben.

Klar ich könnt auch die 1 Ausgabe mit der 2 Zusammenfassen , aber es geht ja ums Prinzip.

Also warum beherrscht IE kein Script in Script aufruf, und hängt einfach alle nur dahinter wärend der FireFox stimmig das Script im Script da plaziert wo es auch im DOM ist.

Für jede Lösung wäre ich dankbar (obwohl mich das eigentlich wenig tangiert was ein austerbender IE an problemen Bereitet. Aber es geht ums Prinzip , und um buggy Microsoft Produkte :smile:

Hallo Rakon Dark,

kann dein Problem nicht nachvollziehen/verstehen. Der einzige Unterschied deiner Links bei mir ist, dass in einer Fassung die Sterne fehlen. Könntest du mal einen Screenshot anbieten, in dem man sieht wie das Ganze aussehen soll?

Nur MSIE 6.0 Nutzer (Geschädigter?)

mfg

Dirk.Pegasus

Nochmal :Eine Webseite mit

welches wiederum ein

liefert das dann nur noch ein paar

zurückliefert.
Bildlich gesehen, erster cgi durch

aufruf liefert den Rahmen , im Rahmen ist ein weiterer cgi druch

aufruf der das Bildliefert. Somit ein Bild im Rahmen mit nur einem tag aufruf.

Working
Im Firefox klappt es tadelso, der DOM geht da weiter wo ds Script gesetzt ist nämlich in der Tabelle (Rahmen).
http://abc-xyz.no-ip.org/helptheworld/html/images_vo…

BUG
Im IE dieselbe Seite aber aus der Tabelle gekickt.
http://abc-xyz.no-ip.org/helptheworld/html/images_vo…

Alternative
Nun IE mit nur dem Inneren script welches das cgi aufruft und nur html , das Bild als

zurück gibt. Der Rahmen ist genau der gleiche wie vom Script, nur eben jetzt nicht via script src=cgi aufruf sondern HTML hardcodet.
http://abc-xyz.no-ip.org/helptheworld/html/images_vo…

Hallo RakonDark,

Hatte dich schon verstanden, wollte aber in einem Bild mal sehen, was rauskommen soll. Hab mal gegoogelt und siehe da:

Zitat selfHTML zum Thema write():
Der Schrägstrich / in schließenden HTML-Tags muss bei der Ausgabe mit dem Zeichen \ maskiert werden. Das gilt besonders dann, wenn Sie dynamisch weiteren JavaScript-Code in der Form document.write("…") schreiben möchten. Maskiert …</script> geschrieben, wird der dynamisch geschriebene Scriptbereich als eigenständiger Block interpretiert, und das aktuelle Script wird unabhängig davon weiter ausgeführt.

Könnte das helfen? Klingt allerdings so, als ob einer der Browser das ignoriert. Aber wer machts denn dann falsch?

mfg

Dirk.Pegasus

Hallo RakonDark,

Hatte dich schon verstanden, wollte aber in einem Bild mal
sehen, was rauskommen soll. Hab mal gegoogelt und siehe da:

Zitat selfHTML zum Thema write():
Der Schrägstrich / in schließenden HTML-Tags muss bei der
Ausgabe mit dem Zeichen \ maskiert werden. Das gilt besonders
dann, wenn Sie dynamisch weiteren JavaScript-Code in der Form
document.write("…") schreiben
möchten. Maskiert …</script>

Das hatte ich schon maskiert , das Script wird ja auch ausgeführt.
Leider wird es aber bei IE ans ende der Fahnenstange gesetzt. An den Anfang hätte ich ja noch verstanden, aber unerhalb , fühlt sich nach zeitverzögerung an.

Hallo RakonDark,

naja, Versuch war’s wert.

ich hatte da noch eine Seite gefunden, die ich aber nicht ganz verstanden habe:

http://groups.google.com/group/de.comp.lang.javascri…

Da die Seite recht lang ist such dort mal nach: