Christian Ploninger: HTML Code speichern?

Hallo!
Ich habe das Problem, das ich auf den sich in einem anderen Frame befindlichen HTML Code zugreifen und diesen in eine Stringvariable speichern will.
Ich habe eine Lösung mit outerHTML auf das Body-Tag gefunden.
Nun habe ich aber das Problem, das der interessante HTML Code das Resultat eines FORM-Posts ist und mir der Zugriff auf window.frames[x].document.all.tags("body")[0].outerHTML verweigert wird.

Hat irgendwer eine Ahnung wie man auf den HTML-Code richtig zugreifen kann???

DANKE!

Christian

  1. Hallo Christian,

    Nun habe ich aber das Problem, das der interessante HTML Code das Resultat eines FORM-Posts ist und mir der Zugriff auf window.frames[x].document.all.tags("body")[0].outerHTML verweigert wird.

    Ich hab zwar noch nicht ganz verstanden, was da alles passiert bei dir, aber:

    window.frames[x].document.all.tags("body")[0].outerHTML
    solltest du mal ersetzen durch
    parent.frames[x].document.all.tags("body")[0].outerHTML
    (und x muss natuerlich eine konkrete Zahl sein)

    Wenn's das nicht ist, dann koenntest Du mal versuchen, in der Datei mit dem "interessanten" HTML-Code folgendes zu notieren:
    <form name="Code"><input name="Data" type="hidden" value=""></form>
    und im Dateikopf der gleichen Datei:
    <script language="JavaScript">
    function SetCodeData()
    {
    document.Code.Data.value = document.all.tags("body")[0].outerHTML;
    }
    </script>
    und im <body>-Tag der gleichen Datei:
    <body ... onLoad="SetCodeData">
    In der anderen Datei im anderen Frameset kannst Du dann versuchen, mit JavaScript auf das hidden-Feld der anderen Datei zuzugreifen:
    var x = parent.frames[x].document.Code.Data.value;

    viele Gruesse
      Stefan Muenz

  2. Nun habe ich aber das Problem, das der interessante HTML Code das Resultat eines FORM-Posts ist und mir der Zugriff auf window.frames[x].document.all.tags("body")[0].outerHTML verweigert wird.

    Das heißt also, daß der Quelltext dynamisch generiert wird (z.B. mit CGI) ? Dann könntest Du ja in dem Skript was einbauen, was den Sourcecode in eine Variable schreibt, auf die Du dann aus den anderen Frames zugreifen kannst... ist allerdings nicht so flexibel, als wenn man beliebige Seiten so auslesen kann... aber das könnte ja auch ein Sicherheitsproblem werden, wenn es möglich wäre...

    CIAO
    H-Man

  3. Danke fuer die guten Tips!
    ABER ich denke ich habe das Problem erkannt:

    Das Problem ist, dass die mit outerHTML zu lesenden Daten, in einer anderen Domäne liegen, und deswegen wird mir der Zugriff verweigert.

    Frames.html             HomeDomäne (HomePC)
    LeftFrame.html         HomeDomäne (HomePC)
    RightFrame.html       ExterneDomäne (Internet Server)

    In LeftFrame.html versuche ich auf den im RightFrame stehenden HTML-Code zuzugreifen (mittels parent.frames["RightFrame"].document.all.tags("body")[0].outerHTML;)

    Weiters hab ich das Problem, dass ich RightFrame.html nicht modifizieren kann.

    Kann ich trozdem die Daten IRGENDWIE lesen. (Vielleicht mit zwischenspeichern auf die Festplatte??)

    DANKE
    Euer Chris

    1. Das Problem ist, dass die mit outerHTML zu lesenden Daten, in einer anderen Domäne liegen, und deswegen wird mir der Zugriff verweigert.

      Ahh ja.. das Problem hatte ich auch schon.. wollte in
      meinem Forum  (Firmen-Rechner) ne JavaScript Variable
      auslesen von meiner privaten Page (also anderer Server)
      wo ein Stylesheet-Pfad drinsteht und dieses denn im Forum verwenden.
      Klappte lokal problemlos aber auf 2 verschiedenen Servern
      nicht.. da kam den Zugriff verweigert.
      Hat bestimmt wieder was mit den Sicherheitsfanatikern und
      so zu tun das man das nicht darf.. *g*
      Naja.. wenns da ne Lösun für gäbe wäre ich auch immer
      noch sehr interessiert.

      gruss
      Jens

      1. Hallo!
        Also ich hab mich mal schlau gemacht, und angeblich funktioniert das mit JS ueberhaupt nicht (Schlagwort - Sandbox. dh man kann nur in der eigenen Domäne was tun).
        Aber mit Java oder C++ sollte das kein Problem sein.

        Werde mich mal etwas damit befassen.

        Dein Chris

        Das Problem ist, dass die mit outerHTML zu lesenden Daten, in einer anderen Domäne liegen, und deswegen wird mir der Zugriff verweigert.

        Ahh ja.. das Problem hatte ich auch schon.. wollte in
        meinem Forum  (Firmen-Rechner) ne JavaScript Variable
        auslesen von meiner privaten Page (also anderer Server)
        wo ein Stylesheet-Pfad drinsteht und dieses denn im Forum verwenden.
        Klappte lokal problemlos aber auf 2 verschiedenen Servern
        nicht.. da kam den Zugriff verweigert.
        Hat bestimmt wieder was mit den Sicherheitsfanatikern und
        so zu tun das man das nicht darf.. *g*
        Naja.. wenns da ne Lösun für gäbe wäre ich auch immer
        noch sehr interessiert.

        gruss
        Jens