JavaScript target von button bzw. form innerhalb eines iframes umleiten

Twisterking

Lt. Commander
Dabei seit
Jan. 2004
Beiträge
1.715
HI @ all!

Also folgendes Problem:

Ich habe eine Seite auf meinem Server mit einem iframe, in dem wiederum eine externe Seite (also mit http://.... Link --> file liegt nicht auf meinem Server) geöffnet wird!
Diese externe Seite beinhaltet eine form, die wiederum einen submit button enthält, der bei Klick auf eine weitere Seite umleitet!

Problem: Bei klick auf diesen Button innerhalb des iframes wird diese neue Seite im selben Tab wie meine eigene Seite geöffnet --> Zurück Button muss benutzt werden!
Dies würde ich gerne mit JS irgendwie umgehen, indem ich diesem Button bzw. dessen form das target="_blank" zuweise, dass somit bei Klick auf den BUtton die neue Seite in einem neuen Tab geöffnet wird!

Ist das irgendiwe möglich? :)

Hoffe ihr wisst was ich meine!

mfg
Twist
 

moagnus

Ensign
Dabei seit
Juli 2007
Beiträge
189
Das Problem liegt bei der Same Origin Policy (SOP): Du kannst nicht einfach in einer fremden Seite herumpfuschen, also bspw. ein Attribut "target" setzen. (Mit signierten Skripts geht zwar, dürfte für dich hier aber nicht interessant sein.)
Du müsstest den iframe-Inhalt dann serverseitig manipulieren und dann erst an den Client übertragen.
 

Twisterking

Lt. Commander
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
1.715
Hmm .. also mit PHP dreinzupfuschen gehts nicht?
Hilft mir leider nicht weiter weil das Formular was dann im iframe zu sehen is nicht von meiner ServerIp aus kommen darf!
Also rein mit JS (also client-seitig) is das nicht machbar? :(
 

moagnus

Ensign
Dabei seit
Juli 2007
Beiträge
189
Hm, was spricht dagegen, den iframe-Inhalt einfach lokal auf deinem Webserver zu speichern und dann von da aus einzubinden? Wenn es wirklich nur um den Button geht, also bspw. sich keine weitere Werbung in deinem iframe befindet, die vom Client geladen werden soll, ist es doch egal, von wo der iframe stammt. Du müsstest dann allerdings noch das action-Attribut beim form anpassen, weil das ja vermutlich nur eine relative Angabe ist.
Wenn du es wirklich übertreiben willst, schaust du dir dann noch den Doctype an. Falls es XHTML ist, gibt's nämlich kein target-Attribut bei forms oder buttons. Dann könntest du noch ein Javascript injizieren, um auch das sauber zu lösen.
 

Twisterking

Lt. Commander
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
1.715
Leider genau das mit der Werbung trifft zu ... deshalb darf die HTML nicht von der IP meines Servers kommen!

Naja ... was anderes .... so wies jetzt is funktioniert ja alles soweit! :) BUtton erscheint und bei klick öffnet sich die neue Seite ... allerdings eben im selben Tab! Über das kann ich nun doch hinwegsehen .... problem is nur dass der Zurück-Button dann nicht mehr funktioniert weil sofort wieder auf die neue Seite umgeleitet wird!
Kann man das irgendiwe mit php, js oder was auch immer umgehen?
Irgendwas in der Richtung if(Zurück-Button pressed) { brich laden der neuen Seite ab } oder sowas in der Richtung!? ^^
 

Twisterking

Lt. Commander
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
1.715
Ja bin sicher!
Auch mehrfaches Zurück-Button Klicken hilft nichts!
Es is so als ob ich sofort wieder auf den BUtton im iframe klicken würde!
Das ist nur zu umgehen indem mal zurück-button klickt und sofort danach "Laden Abbrechen" button ... was ich dem User nicht zumuten kann! --> andere Lösung muss her!
Hoffe es is nun klar wo mein Prob liegt! ^^ :)
 
Top