kod javascript mudah untuk menentukan sama ada laman web berada dalam iframe
var isInIframe = (window.location != window.parent.location) ? true : false;
Bacaan yang berkaitan:
Bagaimana menggunakan jQuery untuk memeriksa sama ada halaman web dimuatkan dalam iframe?
. Jika laman web dimuatkan dalam iframe, window.self
tidak akan sama window.top
. Berikut adalah coretan kod mudah: window.self
window.top
if (window.self !== window.top) { // 网页在 iframe 内 } else { // 网页不在 iframe 内 }
window.self
window.top
di JavaScript, merujuk kepada tetingkap peringkat atas dalam hierarki tetingkap. Jika laman web dimuatkan secara langsung dalam penyemak imbas, window.self
dan window.top
akan sama. Walau bagaimanapun, jika laman web dimuatkan dalam iframe, window.self
akan merujuk kepada tetingkap iframe, dan window.top
akan merujuk kepada tetingkap penyemak imbas utama. window.self
window.top
Bolehkah saya menggunakan jQuery untuk mengendalikan kandungan di dalam iframe?
bagaimana untuk mengesan iframes menggunakan JavaScript tulen tanpa jQuery?
$("#myIframe").contents().find("body").html("Hello, World!");
, yang serupa dengan kaedah jQuery. Kaedahnya adalah seperti berikut: window.self
window.top
if (window.self !== window.top) { // 网页在 iframe 内 } else { // 网页不在 iframe 内 }
Bolehkah saya memintas dasar asal yang sama untuk mengakses iframes dari domain yang berbeza?
untuk berkomunikasi antara kedua -dua. document.domain
postMessage
Bagaimana menggunakan kaedah
postMessage
var isInIframe = (window.location != window.parent.location) ? true : false;
Ya, kaedah membandingkan window.self
dan window.top
berfungsi untuk semua pelayar moden, termasuk Chrome, Firefox, Safari, dan Edge.
Ya, anda boleh menggunakan kaedah attr
dalam jQuery untuk menetapkan sifat src
iframe untuk memuatkan halaman web dalam iframe. Contohnya adalah seperti berikut:
if (window.self !== window.top) { // 网页在 iframe 内 } else { // 网页不在 iframe 内 }
Ya, anda boleh menggunakan jQuery untuk mengubah saiz iframe mengikut kandungannya. Walau bagaimanapun, disebabkan oleh dasar asal yang sama, ini hanya boleh dilakukan jika iframe dan dokumen induk adalah dari domain yang sama. Contohnya adalah seperti berikut:
$("#myIframe").contents().find("body").html("Hello, World!");
Atas ialah kandungan terperinci Juara semak jika tetingkap berada di iframe. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!