Kann nach einer Weiterleitung die URL eines domainübergreifenden iframes gefunden werden?

8

Ich versuche, das Anmeldeformular einer Anwendung in einer anderen Sub-Domain meiner Site zu posten. Es ist eine Drittanbieter-App, auf die ich keinen Quellzugriff habe.

Ich weiß, dass Sie aufgrund der gleichen Ursprungsrichtlinie nicht auf die meisten Features eines domainübergreifenden Iframes zugreifen können. Ich muss jedoch nur auf die URL zugreifen, die innerhalb von iframe an (über JavaScript) weitergeleitet wurde. Es hat ein Sitzungstoken, das ich weitergeben möchte.

Das scheint etwas zu sein, das sicher genug ist, um erlaubt zu werden, aber ich habe noch keinen Weg gefunden, es zu tun. Ich benutze jQuery, und ich habe $('iframe').contents() versucht, aber ich habe anscheinend überhaupt keine Berechtigungen für dieses Objekt. Ich habe auch $('iframe').attr('src') überprüft, aber es bleibt wie die URL vor der Weiterleitung. Gibt es einen anderen Weg?

    
Jerph 02.05.2009, 19:09
quelle

2 Antworten

11

Nein, Sie haben keinen Zugriff auf beliebige Eigenschaften in einem Iframe. Sie haben nur Zugriff auf die äußeren Positionierungs- und Stylingeigenschaften.

Aus diesem Grund ist es mit Frames so schwierig, mit ihnen zu arbeiten. Ich benutze sie normalerweise nur, wenn es mir egal ist, was in ihnen gemacht wird.

Können Sie keine serverseitige Authentifizierung und Token-Weitergabe durchführen? Kann der Client die Authentifizierung nicht auf Ihrem Server ausführen? Möglicherweise müssen Sie zusätzliche Arbeit leisten, um die HTTP-Anforderung zu erstellen und die Antwort zu analysieren, Sie vermeiden jedoch Iframe-Probleme.

Unter dem Strich sind Iframes wahrscheinlich nicht die besten, auf die man sich verlassen kann (besonders wenn es um die browserübergreifende Funktionalität geht) für wichtige Dinge wie die Authentifizierung.

    
Kekoa 02.05.2009, 19:29
quelle
2

Probieren Sie dieses Beispiel (Methode 2) aus, in dem der Autor ein anderes iframe innerhalb des ersten erstellt und eine Seite lädt die ursprüngliche Domäne Die innere Seite darf Javascript auf dem äußeren Elternteil aufrufen, da sie in derselben Domäne geladen sind. Laden Sie einfach die innere Seite mit geeigneten Parametern, die an den übergeordneten übergeben werden können.

    
Leon van der Walt 01.06.2009 16:56
quelle

Tags und Links