2012-04-22 20 views
13

Ich benutze den folgenden einfachen iFrame-Code, um Yahoo zu laden, aber es wird trotzdem nicht geladen. In Chrome Inspector sehe ich den URL-Status zuerst als 301 und dann abbrechen. Irgendeine Idee warum passiert es?iFrame wird nicht geladen URL

<iframe name="iframe1" src="http://yahoo.com"></iframe> 
+0

Sie könnten Markierung eine Antwort als richtig zu betrachten. – iambriansreed

Antwort

23

Sie wahrscheinlich eine Fehlermeldung im Protokoll erhalten, die ungefähr so ​​lautet:

"Refused to display document because display forbidden by X-Frame-Options."

Um Ihre Frage zu beantworten:

Yahoo wird diese avoid clickjacking attacks, by ensuring that their content is not embedded into other sites. zu tun

Für weitere Informationen lesen Sie bitte: https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header

+0

Ich verwende Chrome – Volatil3

+2

Ich auch. Das ist also genau die Fehlermeldung, die Sie sehen würden. – iambriansreed

+0

@ Volatil3 aktualisiert. – iambriansreed

4

Es ist auch sehr einfach zu fragen, Website nicht zu laden, wenn Sie in einem iframe mit einfachem Javascript sind. Zum Beispiel macht Twitter dies

Ich habe hier keinen Konsolenfehler gesehen und so denke ich, dass dies der Fall hier ist.

Die Yahoo! JavaScript ist verschleiert, aber Sie können sehen, dass in diesem Codeausschnitt etwas entfernt wird. (Code aus dem Yahoo-Website genommen)

if(self!==self.top){b=function(){if(g.readyState=="complete"){f.remove(g,e,b); 
+0

@ downvoter: Könnten Sie erklären warum? – naveen

+0

Ich denke, Ihre Antwort ist nicht wirklich die gestellte Frage zu beantworten. –

+0

Indirekt antwortete er, gab den Grund dafür an. Vor seiner Antwort dachte ich, dass es zu meinem Ende ein Problem gibt. Ich habe auch gelernt, wie ich meine Seite für jede Einbettung speichern kann. Danke @naveen – Volatil3

3

tatsächlich Yahoo, Google und solche Website keine Iframes auf ihre Website ermöglichen. Sie blockieren iframes, um ihre Website zu zeigen

2

Wenn die Website, die die Webseite hostet, die Verwendung einer sicheren HTTPS-Verbindung erzwingt, erfordern einige Browser (Chrome sicher), dass alle Netzwerkressourcen auch HTTPS verwenden.

Die URL in Ihrem aktuellen iframe wird HTTP src="http://yahoo.com"

Versuchen mit HTTPS: src="https://yahoo.com"

+0

Dies ist die einzig richtige Antwort! In meinem Fall. Vielen Dank! – domih