Saya mencoba memasukkan google.com ke dalam iframe di situs saya, ini berfungsi dengan banyak situs lain termasuk yahoo. Tetapi itu tidak berfungsi dengan google karena hanya menampilkan iframe kosong. Mengapa tidak dirender? Apakah ada trik untuk melakukan itu?
Saya sudah mencobanya dengan cara biasa untuk menampilkan situs web dalam iframe seperti ini:
<iframe name="I1" id="if1" width="100%"
height="254" style="visibility:visible"
src="http://www.google.com"></iframe>
Halaman google.com tidak merender di iframe, hanya kosong. Apa yang sedang terjadi?
window.property
atau sesuatu, yang, di dalam IFrame, akan merusak sebagian tampilan?<iframe src="https://www.google.com/webhp?igu=1"></iframe>
Jawaban:
Alasannya adalah, Google mengirimkan header tanggapan "X-Frame-Options: SAMEORIGIN". Opsi ini mencegah browser menampilkan iFrame yang tidak dihosting di domain yang sama dengan halaman induk.
Lihat: Jaringan Pengembang Mozilla - Header tanggapan X-Frame-Options
sumber
iframe
: google.com/search?igu=1ITU TIDAK MUNGKIN.
Gunakan server proxy terbalik untuk menangani Masalah Asal-Berbeda. Saya dulu menggunakan Nginx dengan
proxy_pass
untuk mengubah url halaman. Anda bisa mencoba.Cara lain adalah dengan menulis halaman proxy sederhana yang dijalankan di server sendiri, cukup minta dari Google dan keluarkan hasilnya ke klien.
sumber
Seperti yang telah dijelaskan di sini, karena Google mengirimkan header tanggapan "X-Frame-Options: SAMEORIGIN", Anda tidak dapat begitu saja menyetel src ke " http://www.google.com " dalam iframe.
Jika Anda ingin menyematkan Google ke dalam iframe, Anda dapat melakukan apa yang sudopeople sarankan dalam komentar di atas dan menggunakan tautan pencarian khusus Google seperti berikut. Ini bekerja sangat baik untuk saya (kiri 'q =' kosong untuk memulai dengan pencarian kosong).
EDIT:
Jawaban ini tidak lagi berfungsi. Untuk informasi, dan petunjuk tentang cara mengganti pencarian iframe dengan elemen pencarian kustom Google, lihat: https://support.google.com/customsearch/answer/2641279
sumber
http://www.google.com/search?site=imghp&tbm=isch&q='searchstring'
tetapi karena itu menggunakan pencarian? dan bukan kebiasaan? Anda tidak akan dapat menggunakannya dalam iframeAnda dapat melewati X-Frame-Options dengan menggunakan YQL.
Jalankan di sini: http://jsfiddle.net/2gou4yen/
Kode dari sini: Bagaimana Saya Bisa Bypass X-Frame-Options: SAMEORIGIN HTTP Header?
sumber
http://query.yahooapis.com
denganhttps://query.yahooapis.com
.Anda dapat menyelesaikannya menggunakan Google CSE (Custom Searche Engine), yang dapat dengan mudah dimasukkan ke dalam iframe. Anda dapat membuat mesin pencari Anda sendiri, yang mencari situs yang dipilih atau juga di seluruh database Google.
Hasilnya bisa diberi gaya sesuka Anda, juga mirip dengan gaya Google. Google CSE bekerja dengan web dan pencarian gambar.
google.php
yourpage.php
sumber
Ini digunakan untuk bekerja karena saya menggunakannya untuk membuat pencarian Google kustom dengan pilihan saya sendiri. Google membuat perubahan pada akhirnya dan merusak halaman pencarian kustomisasi pribadi saya :( Contoh tidak lagi berfungsi di bawah ini. Ini sangat berguna untuk pola pencarian yang kompleks.
web
Saya kira pilihan yang lebih baik adalah dengan hanya menggunakan Curl atau serupa.
sumber
Ini tidak ideal tetapi Anda dapat menggunakan server proxy dan berfungsi dengan baik. Misalnya, buka hidemyass.com, taruh di www.google.com dan masukkan tautan ke dalam iframe dan berhasil!
sumber
Jika Anda menggunakan PHP, Anda dapat menggunakan
file_get_contents()
untuk mencetak konten:Ini akan mencetak
file_get_contents()
fungsi konten apa pun yang ada di url ini. Harap perhatikan bahwa karena Anda menampilkan konten sebagai string dan bukan sebagai laman web yang sebenarnya, hal-hal seperti gambar jalur relatif tidak ditampilkan dengan benar, karena /img/myimg.jpg sekarang dimuat dari server Anda dan bukan dari google.com lagi.Namun, Anda dapat bermain dengan beberapa trik seperti
str_replace()
fungsi untuk mengganti url absolut dalam gambar:sumber