2016-11-20 4 views
0

ändert Ich habe eine Seite Iframes:ändern Eltern url Rahmen, wenn iframe url

<iframe src="http://externalwebsite.com/test.html" scrolling="no" height="400px" width="400px" allowfullscreen></iframe> 

Und ich will die Eltern-URL zu http://mywebsite.com/succes.html ändern, wenn die iframe url Änderungen http://externalwebsite.com/succes.html

ich Figur versuchte, es mit JavaScript aus, aber ich habe es nicht geschafft. Kann mir jemand helfen?

+1

Aus Sicherheitsgründen gibt es wahrscheinlich keine Möglichkeit, dies zu tun, ohne die externe Site Proxy – mplungjan

+0

Sie können erkennen, wenn es eine neue Seite lädt, aber nicht, was diese Seite ist, wenn nicht dieselbe Domäne http://plnr.co/edit/ ebnk244eJrwREIJuI3JC? p = Vorschau Iframes sind aufgrund * "self origin policy" sehr eingeschränkt * – charlietfl

Antwort

0

<iframe id="frameId" src="http://externalwebsite.com/test.html" scrolling="no" height="400px" width="400px" allowfullscreen></iframe>

binden an die frame.onload Ereignis in dem übergeordneten Fenster.

var frame = document.getElementById('frameId'); 
frame.onload = function(e){ 
    if(frame.src === 'http://externalwebsite.com/succes.html'){ 
     window.location.href = 'http://externalwebsite.com/succes.html'; 
    } 
}; 

frame.src='someUrl'; für Test Versuchen.

+0

hast du das getestet? Der Demo-Link oben gibt keine Update-URL und auch jQuery hat kein 'onload', so dass es nicht wie beschrieben ausgelöst wird. Wäre entweder 'frame [0] .onload' oder' frame.on ('load' ... ' – charlietfl

+0

:(für mich hat es nicht funktioniert, aber danke für den Versuch zu helfen – jollesnaas

+0

Sie haben Recht charlietfl. Es ist entweder die Code, den Sie erwähnen oder var frame = document.getElementById ('frameId'); – napoleonss