Ich versuche, google.com in einen Iframe auf meiner Website zu setzen. Dies funktioniert mit vielen anderen Websites, einschließlich Yahoo. Bei Google funktioniert dies jedoch nicht, da nur ein leerer Iframe angezeigt wird. Warum wird es nicht gerendert? Gibt es irgendwelche Tricks, um das zu tun?
Ich habe es auf übliche Weise versucht, eine Website in einem Iframe wie diesem anzuzeigen:
<iframe name="I1" id="if1" width="100%"
height="254" style="visibility:visible"
src="http://www.google.com"></iframe>
Die google.com-Seite wird nicht im Iframe gerendert, sondern nur leer. Was ist los?
window.property
oder etwas, das in einem IFrame einen Teil der Anzeige beschädigen würde?<iframe src="https://www.google.com/webhp?igu=1"></iframe>
Antworten:
Der Grund dafür ist, dass Google einen Antwortheader "X-Frame-Options: SAMEORIGIN" sendet. Diese Option verhindert, dass der Browser iFrames anzeigt, die nicht in derselben Domäne wie die übergeordnete Seite gehostet werden.
Siehe: Mozilla Developer Network - Der Antwortheader für X-Frame-Optionen
quelle
iframe
: google.com/search?igu=1ES IST NICHT UNMÖGLICH.
Verwenden Sie einen Reverse-Proxy-Server, um das Problem mit unterschiedlichem Ursprung zu lösen. Ich habe Nginx verwendet
proxy_pass
, um die URL der Seite zu ändern. Sie können es versuchen.Eine andere Möglichkeit besteht darin, eine einfache Proxyseite zu schreiben, die selbst auf dem Server ausgeführt wird. Fordern Sie einfach bei Google an und geben Sie das Ergebnis an den Client aus.
quelle
Wie hier beschrieben, können Sie den src in einem Iframe nicht einfach auf " http://www.google.com " setzen, da Google einen Antwortheader "X-Frame-Options: SAMEORIGIN" sendet .
Wenn Sie Google in einen Iframe einbetten möchten, können Sie die in einem Kommentar oben vorgeschlagenen Sudopeople ausführen und einen benutzerdefinierten Suchlink von Google wie den folgenden verwenden. Dies hat bei mir hervorragend funktioniert (links 'q =' leer, um mit der leeren Suche zu beginnen).
BEARBEITEN:
Diese Antwort funktioniert nicht mehr. Informationen und Anweisungen zum Ersetzen einer Iframe-Suche durch ein benutzerdefiniertes Google-Suchelement finden Sie unter: https://support.google.com/customsearch/answer/2641279
quelle
http://www.google.com/search?site=imghp&tbm=isch&q='searchstring'
aber weil es Suche verwendet? und nicht Brauch? Sie werden es nicht in einemSie können X-Frame-Optionen in einem mit YQL umgehen.
Führen Sie es hier aus: http://jsfiddle.net/2gou4yen/
Code von hier: Wie kann ich die X-Frame-Optionen umgehen: SAMEORIGIN HTTP Header?
quelle
http://query.yahooapis.com
mithttps://query.yahooapis.com
.Sie können mit Google CSE (Custom Searche Engine) lösen , das einfach in einen Iframe eingefügt werden kann. Sie können Ihre eigene Suchmaschine erstellen, die ausgewählte Websites oder auch die gesamte Google-Datenbank durchsucht.
Die Ergebnisse können nach Ihren Wünschen gestaltet werden, ähnlich wie im Google-Stil. Google CSE arbeitet mit der Web- und Bildersuche.
google.php
yourpage.php
quelle
Dies funktionierte früher, weil ich damit benutzerdefinierte Google-Suchanfragen mit meinen eigenen Optionen erstellt habe. Google hat am Ende Änderungen vorgenommen und meine private angepasste Suchseite beschädigt :( Das unten stehende Beispiel funktioniert nicht mehr. Es war sehr nützlich für komplexe Suchmuster.
Netz
Ich denke, die bessere Option ist, nur Curl oder ähnliches zu verwenden.
quelle
Es ist nicht ideal, aber Sie können einen Proxyserver verwenden und es funktioniert gut. Gehen Sie zum Beispiel zu hidemyass.com, geben Sie www.google.com ein und fügen Sie den Link, zu dem es geht, in einen Iframe ein, und es funktioniert!
quelle
Wenn Sie PHP verwenden, können Sie
file_get_contents()
den Inhalt drucken:Dadurch wird jede Inhaltsfunktion gedruckt, die
file_get_contents()
in dieser URL enthalten ist. Bitte beachten Sie, dass Dinge wie relative Pfadbilder nicht korrekt angezeigt werden, da Sie Inhalte stattdessen als Zeichenfolge als tatsächliche Webseite anzeigen, da /img/myimg.jpg jetzt von Ihrem Server und nicht mehr von google.com geladen wird.Sie können jedoch mit einigen Tricks wie der
str_replace()
Funktion spielen, um absolute URLs in Bildern zu ersetzen:quelle