Frames von verschiedenen Domains ansprechen
Merius
- javascript
Hallo!
Ich habe gerade ein neues Projekt bekommen, dabei soll ich eine Webseite framen welche sich auf einer anderen Domain befindet.
Die rechtlichen Aspekte wurden bereits geklärt, jetzt geht es um die technische Umsetzung. Dazu würde ich gerne eure Ratschläge hören.
Folgendes Problem: Auf der geframten Webseite befindet sich eine CheckBox, wie kann ich feststellen ob diese markiert ist oder auch nicht. Ich experimentiere zur Zeit mit Javascript und befürchte dass es nicht funktioniert, da sich die Webseite auf einer anderen Domain befindet.
Folgendes Codestück liefert leider keinen Erfolg.
Intern ist die Webseite auf der eigenen Domain.
Extern ist die Webseite auf der fremden Domain.
Das Skript an sich wird durch einen Button Klick auf der Internen Seite ausgelöst.
if (top.Extern.document.getElementsByName("CheckBox_0")[0].checked==true){
top.Intern.document.getElementsByName("CB_Test")[0].checked=true;
}
Folgendes Codestück liefert leider keinen Erfolg.
Intern ist die Webseite auf der eigenen Domain.
Extern ist die Webseite auf der fremden Domain.
Mit JS kommst du da nicht weiter, die SOP kannst du nicht umgehen.
Struppi.
Folgendes Codestück liefert leider keinen Erfolg.
Intern ist die Webseite auf der eigenen Domain.
Extern ist die Webseite auf der fremden Domain.Mit JS kommst du da nicht weiter, die SOP kannst du nicht umgehen.
Struppi.
Das habe ich mir schon gedacht, darum erweitere ich meine Frage gleich: Ist mein Vorhaben irgendwie realisierbar und wenn ja wie? Ich nehme gerne Vorschläge entgegen!
Hi,
in ColdFusion gibt es das <cfhttp>-Tag, mit dem könntest du die Seite von deinem Server aufrufen und ausgeben lassen.
Parameter anhängen stellt auch kein Problem da, und da dann die Seite direkt von deiner Domain kommt spielt auch die Same Origin Policy keine Rolle mehr.
Rein Clientseitig denke ich nicht das es lösbar ist.
~dave
Moin!
in ColdFusion gibt es das <cfhttp>-Tag, mit dem könntest du die Seite von deinem Server aufrufen und ausgeben lassen.
Warum bringst du so eine spezielle Lösung? ColdFusion - wer nutzt das denn? :) Hier im Forum taucht das jedenfalls extrem selten auf.
Die korrektere Lösung wäre, allgemein zu beschreiben, was man tun muß: Dafür sorgen, dass sämtliche Seiten von genau einer Domain kommen. Und das realisiert man so, dass man den einen Server mit dieser Domain so konfiguriert, dass er als Proxy die Inhalte der anderen Seiten abruft.
Mag sein, dass ColdFusion das mit <cfhttp> erledigt - aber diese Info hilft ja nur dann weiter, wenn tatsächlich ColdFusion benutzt werden kann, und/oder Merius auch Ahnung hat oder nachlesen kann, was dieses Tag denn technisch macht, um das mit anderer Software ebenfalls zu tun.
- Sven Rautenberg
Erstmal Danke für die Antworten!
ColdFusion wird wohl keine Verwendung in diesem Projekt finden. Als Server Script Sprache wird eher PHP seine Anwendung finden.
Die korrektere Lösung wäre, allgemein zu beschreiben, was man tun muß: Dafür sorgen, dass sämtliche Seiten von genau einer Domain kommen. Und das realisiert man so, dass man den einen Server mit dieser Domain so konfiguriert, dass er als Proxy die Inhalte der anderen Seiten abruft.
- Sven Rautenberg
Ich habe keinen Zugriff auf die Seite die ich framen soll, sprich dort kann ich nichts anpassen. Wenn ich dich richtig verstanden habe muss meine eigene Domain als Proxy fungieren. Falls dem so ist würde ich um ein paar Links als Starthilfe bieten damit ich mich in dieses Gebiet einlesen kann. So etwas ist mir leider noch nicht untergekommen.
-Merius
in ColdFusion gibt es das <cfhttp>-Tag, mit dem könntest du die Seite von deinem Server aufrufen und ausgeben lassen.
Das ist aber nicht das was er will.
Struppi.
Struppi.
Bitte kein Fullquote. Zitiere nur das worauf du antworten willst, Danke.
Das habe ich mir schon gedacht, darum erweitere ich meine Frage gleich: Ist mein Vorhaben irgendwie realisierbar und wenn ja wie? Ich nehme gerne Vorschläge entgegen!
So wie ich dich verstanden habe, geht das nur, wenn du die Orginalseite verändern kannst.
Da du ansonsten keine Möglichkeit hast interaktion auf einer fremden Seiten irgendwie festzustellen. Nicht mit JS und auch nicht mit anderen Mitteln - ausser illegalen, wie z.b. keylogger
Struppi.
Hallo!
Auf der geframten Webseite befindet sich eine CheckBox, wie kann ich feststellen ob diese markiert ist oder auch nicht.
Du hast programmtechnisch Zugriff auf die geframte Seite?
Die könnte per Ajax eine geeignete Information an ihre eigene Domain senden.
Die Frameseite kann per Ajax geeignete Informationen von der "fremden" Seite lesen. Zum Beispiel Image-files (ich glaube, auch CSS-files).
Parent-Seite ruft die Frame-Seite auf und lädt per Ajax ein Bild. Das dauert einen Moment, weil die Frame-Seite dieses Bild erst erzeugen muss. Bei JA ist das Bild 10 pixel hoch, bei NEIN 20.
Und wenn das Bild dann auf der Parent-Seite angekommen ist, hast du die gewünschte Information.