Lesen Sie query-string-Parameter von inside iframe
Ich habe eine web-Anwendung, die innerhalb einer anderen web-Anwendung iframe (beide sind in einem ASP.NET MVC).
Möglich ist zu Lesen von der Anwendung innerhalb des iframe die query-string-Parameter von der übergeordneten web-Applikation mit C#?
- Fügen Sie bitte Informationen über die domain (url) von jeder beteiligten Seite - fühlt sich an wie Sie versuchen zu arbeiten, um same-origin-Richtlinie Beschränkung der Verwendung falschen Methoden...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie anfügen, was auch immer Daten, die Sie Lesen möchten aus der übergeordneten Seite, von der Seite im iframe der iframe-url selbst.
Zum Beispiel:
Nun, haben Sie, um eine Analyse der src-Wert von deinem iframe-Seite um Daten zu erfassen.
Dies ist ein trick, und soweit ich weiß, gibt es wohl keine direkte Möglichkeit zum Zugriff auf übergeordnete Seite die Daten aus dem iframe.
Fenster.Eltern sollten Sie eine Referenz auf das Übergeordnete Element.Es gibt auch eine Fenster.top welche gibt die unmittelbaren Eltern so, wenn Ihre Anwendung ist geschachtelten mehr als einmal sollten Sie die richtige Immobilie.
Von dort aus können Sie tun
window.parent.location
(oderwindow.top.location
), die mit verschiedenen Eigenschaften den URL angefordert.Tatsächlich Lesen Sie die query-string gibt es Beiträge darüber hier. Sie brauchen nur zu ersetzen-Fenster.Lage mit Fenster.Eltern oder Fenster.top :
Finden Sie die Antwort hier : Wie man den query-string per javascript? und viel ausführlichere Antworten hier: Wie kann ich get-query-string-Werte in JavaScript?
In der Steuerung : Da Sie sagten, Sie müssen die query-strings in der Steuerung. Sie müssen immer noch den query-string wie ich es oben beschrieben hast, dann werden Sie geben es in den controller, indem Sie es in dem Aufruf der
src
des inneren Rahmen.Es hängt alles davon ab, wie und, wenn Sie die Einstellung der
src
Attribut des inneren Rahmen. Sie müssen irgendwie ändern irgendwann.Von Ihrem äußeren Rahmen, die Sie tun könnten:
Oder von innerhalb des Rahmens selbst, erhalten Sie die Abfrage-string zuerst, dann ein redirect/reload by doing
window.[top/parent].location = the url + query string
Dann werden Sie Lesen, den query-string als wäre es der query-string der inneren Anwendung.
Sollten Sie verwenden
%26
statt&
zu senden iframe, zum Beispiel:Im code : wenn ich
requset.queryString("ppp")
in der Eltern es zeigt sich:/Payam.asp?sid=1&PID=1
Können Sie diese als Quelle Ihrer iframe, hat zwei Parameter: