Rumah > hujung hadapan web > tutorial js > Juara semak jika tetingkap berada di iframe

Juara semak jika tetingkap berada di iframe

Jennifer Aniston
Lepaskan: 2025-03-06 00:08:11
asal
645 orang telah melayarinya

kod javascript mudah untuk menentukan sama ada laman web berada dalam iframe

jQuery Check if Window is in iFrame

Berikut adalah coretan kod JavaScript mudah untuk memeriksa sama ada tetingkap berada dalam iframe. Ia berguna untuk beberapa fungsi yang boleh menggunakan URL di bar alamat halaman. Kodnya adalah seperti berikut:

var isInIframe = (window.location != window.parent.location) ? true : false;
Salin selepas log masuk
Salin selepas log masuk

Bacaan yang berkaitan:

    Dapatkan sumber suntikan iframe href
  • bagaimana untuk memuatkan semula iframe
Soalan Lazim Mengenai JQuery and Iframes (FAQ)

Bagaimana menggunakan jQuery untuk memeriksa sama ada halaman web dimuatkan dalam iframe?

Untuk menggunakan jQuery untuk memeriksa sama ada laman web dimuatkan dalam iframe, anda boleh menggunakan sifat

dan

. Jika laman web dimuatkan dalam iframe, window.self tidak akan sama window.top. Berikut adalah coretan kod mudah: window.self window.top

Apakah perbezaan antara
if (window.self !== window.top) {
  // 网页在 iframe 内
} else {
  // 网页不在 iframe 内
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
dan

dalam JavaScript? window.self window.top di JavaScript,

merujuk kepada tetingkap semasa, manakala

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?

Ya, anda boleh menggunakan jQuery untuk mengendalikan kandungan di dalam iframe. Walau bagaimanapun, disebabkan oleh dasar asal yang sama, ini hanya boleh dilakukan jika iframe dan dokumen induk adalah dari domain yang sama. Berikut adalah contoh cara menukar html tag badan di dalam iframe:

bagaimana untuk mengesan iframes menggunakan JavaScript tulen tanpa jQuery?
$("#myIframe").contents().find("body").html("Hello, World!");
Salin selepas log masuk
Salin selepas log masuk

Anda boleh menggunakan JavaScript tulen untuk mengesan iframes dengan membandingkan

dan

, yang serupa dengan kaedah jQuery. Kaedahnya adalah seperti berikut: window.self window.top

Apakah dasar homolog dan bagaimana ia mempengaruhi iframe?
if (window.self !== window.top) {
  // 网页在 iframe 内
} else {
  // 网页不在 iframe 内
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dasar asal-asal adalah ciri keselamatan yang dilaksanakan dalam pelayar web yang menghalang skrip daripada berinteraksi antara satu sama lain. Dasar ini memberi kesan kepada iframe kerana ia menghalang skrip dalam dokumen induk daripada mengakses atau memanipulasi kandungan di dalam iframe (jika mereka tidak dari domain yang sama).

Bolehkah saya memintas dasar asal yang sama untuk mengakses iframes dari domain yang berbeza?

melangkaui dasar homolog biasanya tidak disyorkan untuk alasan keselamatan. Walau bagaimanapun, jika anda mengawal dokumen induk dan kandungan ifRame, anda boleh menggunakan atribut

atau

untuk berkomunikasi antara kedua -dua. document.domain postMessage Bagaimana menggunakan kaedah

untuk berkomunikasi antara iframe dan dokumen induk?

Kaedah postMessage

membolehkan anda menghantar data antara Windows, walaupun mereka tidak dari domain yang sama. Berikut adalah contoh cara menggunakannya:

var isInIframe = (window.location != window.parent.location) ? true : false;
Salin selepas log masuk
Salin selepas log masuk

Bolehkah saya menggunakan jQuery dalam semua pelayar untuk mengesan jika laman web dimuatkan di dalam iframe?

Ya, kaedah membandingkan window.self dan window.top berfungsi untuk semua pelayar moden, termasuk Chrome, Firefox, Safari, dan Edge.

Bolehkah saya memuatkan laman web dalam iframe menggunakan jQuery?

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 内
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Bolehkah saya menggunakan jQuery untuk mengubah saiz iframe mengikut kandungannya?

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!");
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Juara semak jika tetingkap berada di iframe. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan