2009-08-24 10 views
0

Welche Methoden sind verfügbar, um den Status der IFRAME-Seite zu überwachen, weiß ich, dass es Sicherheitsbeschränkungen gibt, aber ich hoffe, dass einige kleine Benachrichtigungssystem noch möglich ist.iframe Inhalt/Status von der übergeordneten Seite überwachen

Meine Situation ist, dass ich eine übergeordnete Seite erstellt habe, die auf dem Server des Kunden befindet, und diese Seite hat Iframe-Seite auf meinem Server (meine Domäne). Ich muss ein wenig zwischen diesen beiden kommunizieren:

Kann ich Javascript auf die übergeordnete Seite machen, die überprüfen kann, ob meine iframe-Seite eine bestimmte Zeichenfolge darauf hat, oder irgendwie Iframe-Seite machen, um die übergeordnete Seite zu benachrichtigen?

Gibt es z.B. jede Möglichkeit, einen Timer zu machen, der iframe Inhalt von Zeit zu Zeit prüft?

Ich nehme auch Antwort, wie mydomain/client.page Rückruf bei customerdomain.intranet.com/parentpage.htm aufruft, die Client auf iframe hat

Antwort

0

Ich habe Informationen, dass dies durch das Setzen parent.location möglich ist (aus iframe) Hash-Daten wie diese „mydomain.com/mypage#mymessage“ dont diese eine voll

0

standardmäßig Sicherheitseinschränkungen im Browser verhindert den Zugang von/zum Dokument in der iframe, wenn es in einer anderen Domäne als die übergeordnete Seite ist. Das ist natürlich genauso, wie es sein sollte.

Ich glaube, das würde sogar die Überprüfung der aktuellen Position des Iframe verhindern, aber das ist leicht testbar. Wenn es zugänglich ist, dann könnten Sie die iframe für seinen Standort abfragen, und wenn die Seite in den iframe Updates aktualisiert, haben Sie einen zufälligen querystring-Parameter anhängen. Ein Vergleich dieses Parameters mit dem Wert aus der vorherigen Umfrage würde Ihnen sagen, ob er sich geändert hat.

Wie ich jedoch sage, ich vermute, dass es nicht möglich ist.

Edit: Diese Frage schlägt es nur möglich, dass das anfängliche src-Attribut ist: How do I get the current location of an iframe?

1

Sie benötigen Cross-Site-JavaScript-Techniken verwenden, um dies zu tun. Hier ist ein Beispiel.

Legen Sie eine andere Datei in Ihren Server, nennen Sie sie helper.html, und fügen Sie sie in Ihre Datei ein, die vom Server des Kunden mit einem iFrame bereitgestellt wird. Setzen Sie den Quellcode des iframes helper.html mit zusätzlichen get-Parametern, z. http: /myserver.com/helper.html? param1 = a & param2 = b, verwenden Sie in der Hilfedatei Javascript, um die Methode auf dem übergeordneten Element der Eltern (parent.parent.messageFromIframe (params)) aufzurufen. Welches ist die Seite auf Ihrem Server selbst? Da helper und die Containerseite auf derselben Domäne sind, sollte es funktionieren. Die Technik ist populär, zum Beispiel benutzte Facebook sie für ihre Javascript API.

+0

leider haben verstehen .. klingt gut! Kannst du mehr Details geben? Ich möchte zwischen 2 Domains kommunizieren. – Tom

+0

Grundsätzlich kommunizieren Sie mit der Hilfedatei bey Einstellung der src iframe enthält es und Übergabe von Parametern. Der Js-Code innerhalb des Helfers kann auf die Funktionen der Eltern zugreifen, was bedeutet, dass Sie jeden beliebigen Js-Code innerhalb Ihrer eigenen Containerseite aufrufen können. –

+0

Also meinst du, es gibt rekursive iframe, ein anderes iframe in meinem iframe? – Tom

Verwandte Themen