Gerrit: src eines externen iframes überwachen

Hallo,

eine (ziemlich) dringende Anfrage.

Eigentlich ganz einfach:
Ganz normales Frameset mit 2 Frames.
1 Frame liegt auf lokalem Server.
Der andere Frame wird mit einem Login.aspx eines externen Servers gefüllt.
Nach dem Login ändert sich natürlich die src des externen Frames und ich möchte mit JS dann das Aussehen des Frames (nach erfolgreichem Login) ändern.

Aber hier komme ich mehr als ins Schwitzen, denn weder mit iframe.contentDocument.location (für firefox) noch mit iframe.contentWindow.location (für ie) kann ich die src überwachen, da ja JS beider Browser genau dies nicht zuläßt.

Hat jemand eine Idee oder Trick, wie ich es sonst noch anstellen könnte? Ich möchte ja gar nicht die externe Seite ändern, sondern nur meinen eigenen Krams in Abhängigkeit des externen Frames ändern - da muß doch was zu machen sein???!!!

Ach ja: Auf die externe Seite habe ich überhaupt keinen Einfluß.

Vielen, vielen Dank für Eure Unterstützung.
Gerrit

  1. Hallo Gerrit,

    1 Frame liegt auf lokalem Server.
    Der andere Frame wird mit einem Login.aspx eines externen Servers gefüllt.

    da hätt' ich einen anderen Vorschlag ... ;-)

    Nach dem Login ändert sich natürlich die src des externen Frames und ich möchte mit JS dann das Aussehen des Frames (nach erfolgreichem Login) ändern.

    Das kannst du aber nicht, weil du wegen der Same Origin Policy keinerlei Zugriff auf den Frame mit dem Fremdinhalt hast - weder vor, noch nach dem Login.

    Hat jemand eine Idee oder Trick, wie ich es sonst noch anstellen könnte? Ich möchte ja gar nicht die externe Seite ändern, sondern nur meinen eigenen Krams in Abhängigkeit des externen Frames ändern - da muß doch was zu machen sein???!!!

    Naja, ich würde versuchen, das Login-Formular des Fremdservers auf meinem eigenen Webspace nachzubauen, und das Formular dann per action="..." an die Original-URL auf dem fremden Server absenden.
    Solange das Formular noch nicht abgesendet ist, kannst du mit JS noch auf den Login-Frame zugreifen (ist ja dein eigener Webspace), danach nicht mehr. Diese Zustandsänderung könntest du überwachen, indem du periodisch immer wieder testest, ob z.B. der Zugriff auf auf frames[...].document.location möglich ist.

    So long,
     Martin

    --
    Mir geht es gut. Ich mag die kleinen Pillen, die sie mir dauernd geben.
    Aber warum bin ich ans Bett gefesselt?
    1. Hallo Martin,

      erst mal vielen Dank für die superschnelle Antwort (hatte heute noch keine Gelegenheit früher das Forum zu prüfen)!

      Das kannst du aber nicht, weil du wegen der Same Origin Policy keinerlei Zugriff auf den Frame mit dem Fremdinhalt hast - weder vor, noch nach dem Login.

      Mhm, ja, da hat mir das Buch von Flanagan auch schon weitergeholfen...

      Naja, ich würde versuchen, das Login-Formular des Fremdservers auf meinem eigenen Webspace nachzubauen, und das Formular dann per action="..." an die Original-URL auf dem fremden Server absenden.

      Jo, so hatte ich mir das auch schon gedacht. Problem hierbei ist, daß ich von ASP (noch) keinen blassen Schimmer habe und der Fremdserver ein Buch mit sieben Siegeln (heißt: ich weiß nicht, welche Befehle der Server akzeptiert - habe schon rumprobiert aber leider reichen die Angaben nicht, die ich bisher aus den vom Server erstellten Seiten Logon.aspx und Home.aspx und den Cookies ziehen konnte).

      Denn, wenn ich ASP richtig verstehe, muß ich auf meinem Webspace ebenfalls ASP aktiviert haben und eine Logon.aspx Seite bauen, richtig?

      Schönen Abend noch
      Gruß, Gerrit

      1. Hallo,

        Naja, ich würde versuchen, das Login-Formular des Fremdservers auf meinem eigenen Webspace nachzubauen, und das Formular dann per action="..." an die Original-URL auf dem fremden Server absenden.

        Jo, so hatte ich mir das auch schon gedacht. Problem hierbei ist, daß ich von ASP (noch) keinen blassen Schimmer habe ...

        brauchst du doch auch nicht - du musst nur die HTML-Seite mit dem Login-Formular nachbilden, so dass die den gleichen Request an den Server schickt wie die Originalseite.
        Wenn die dort allerdings mit Sessions sicherstellen, dass nur das Original-Formular vom eigenen Server akzeptiert wird, hast du schlechte Karten. Aber dazu müsste man sich das Login-Formular erstmal genau ansehen.

        Denn, wenn ich ASP richtig verstehe, muß ich auf meinem Webspace ebenfalls ASP aktiviert haben und eine Logon.aspx Seite bauen, richtig?

        Nein. Nur das, was an den Fremdserver geschickt wird, muss gleich aussehen. Wie dieser Request generiert wird, sollte egal sein.

        Ciao,
         Martin

        --
        Most experts agree: Any feature of a program that you can't turn off if you want to, is a bug.
        Except with Microsoft, where it is just the other way round.