2009-07-31 6 views
0

Puh ... Ich habe heute einige Fragen gestellt, bis ich gerade herausgefunden habe, was das Problem eigentlich ist. Das Problem bezieht sich auf Cross-Site-Scripting. Hier ist mein Szenario.JavaScript - Cross Site Scripting und Elternfenster

Ich habe eine Webanwendung, die ein Dialogfeld mit der Funktion window.open in JavaScript startet. Dieses Fenster leitet den Benutzer zur Twitter OAuth-Anmeldeseite um. Wenn der Benutzer meiner Webanwendung Zugriff auf das Twitter-Konto eines Benutzers erteilt hat oder nicht, wird der Benutzer auf eine Rückrufseite umgeleitet. Diese Rückrufseite ist eine Seite in meiner Webanwendung.

Wenn die Callback-Seite geladen ist, möchte ich ein DIV-Element auf der Eröffnungs-HTML-Seite aktualisieren. Aufgrund eines kürzlich durchgeführten Cross-Site-Scripting-Updates kann das DIV-Element einer Öffnungsseite jedoch nicht aktualisiert werden.

Weiß jemand, wie man das macht?

Vielen Dank!

+2

Haben Sie Codebeispiele für die Techniken, die Sie verwenden? Worauf bezieht sich das aktuelle "Cross-Site-Scripting-Update"? – Nicole

+0

Was meinen Sie mit "der öffnenden HTML-Seite". Meinst du das Popup, das vor der Navigation zu Twitter geöffnet wurde? –

Antwort

0

Soweit ich weiß, wenn Sie eine Anwendung bei twitter registrieren, können Sie auch eine Seite definieren, wenn der OAuth-Prozess abgeschlossen ist. Angenommen, dass die Callback-Seite ist in der gleichen Domäne/Unterdomäne der Webapp, von der geöffneten Seite im Popup-Fenster können Sie:

var objDivToUpdate = window.opener.document.getElementById("myDiv"); 
objDivToUpdate.innerHTML = "some string generated from AJAX call";