2017-12-18 2 views
0

Ich möchte dem Benutzer erlauben, ihre URL einzugeben und im iframe zu suchen. Nachdem sie auf die Bestätigungsschaltfläche geklickt haben, erhalte ich die URL zum Durchsuchen des Iframes.GWT Blockiert einen Frame mit dem Ursprung "http: // localhost" vom Zugriff auf einen Ursprungsrahmen

IFrameElement frame = IFrameElement.as(DOM.createIFrame()); 
frame.setSrc("http://www.example.com"); //set the url of user enter 
VerticalPanel ver = new VerticalPanel(); 
ver.getElement().appendChild(frame); 

// After they click the confirm button, get the url from iframe 
Window.alert(frame.getContentDocument().getURL()); 

Aber ich habe einen Fehler, nachdem ich die URL von iframe erhalten

Ausnahme: com.google.gwt.event.shared.UmbrellaException: Ausnahme gefangen: (Security): einen Rahmen Blockierte mit Ursprung "http://localhost" vom Zugriff auf einen Cross-Origin-Frame.

Antwort

2

Kurz gesagt: Sie sollten dies nicht tun, und Sie können dies nicht tun.


Erstens:

Einige Seiten der Autoren einfach nicht wollen, ihre Seiten lassen in einem Frame angezeigt werden. Versuchen Sie Facebook zum Beispiel, die Sie erhalten:

Refused anzuzeigen 'https://www.facebook.com/' in einem Rahmen, weil es 'X-Frame-Options' auf 'verweigern'.

One auch (mit einem Skript) überprüfen können, ob die Seite in einem Rahmen ist und ‚durchbrechen‘ und Hauptfenster nehmen, ist http://www.interia.pl/ ein Beispiel.

So, es gibt Seiten, die nicht in einem Rahmen angezeigt werden können.


Zweitens:

über Same Origin Policy (SOP) lesen:

Einfach gesagt heißt es in der SOP, dass JavaScript-Code auf einer Webseite ausgeführt werden möglicherweise nicht mit jeder Ressource in Wechselwirkung tritt nicht aus dem gleichen Ursprung Webseite. Der Grund für diese Sicherheitsrichtlinie besteht darin, bösartige Web-Coder daran zu hindern, Seiten zu erstellen, die Informationen von Web-Benutzern stehlen oder ihre Privatsphäre gefährden. Obwohl dies sehr notwendig ist, hat diese Richtlinie auch die Nebenwirkung, das Leben von Webentwicklern zu erschweren.

Verwandte Themen