Rumah >hujung hadapan web >tutorial js >Adakah Halaman Web Saya Dimuat Di Dalam iFrame atau Terus dalam Penyemak Imbas?

Adakah Halaman Web Saya Dimuat Di Dalam iFrame atau Terus dalam Penyemak Imbas?

Barbara Streisand
Barbara Streisandasal
2024-12-09 16:10:14549semak imbas

Is My Webpage Loaded Inside an iFrame or Directly in the Browser?

Menentukan Lokasi Muat Halaman Web: Di Dalam iFrame atau Terus dalam Penyemak Imbas

Pemaju web sering menghadapi cabaran memuatkan halaman web ke dalam iframe atau terus ke tetingkap penyemak imbas. Mengenal pasti lokasi pemuatan adalah penting untuk pengalaman pengguna yang disesuaikan.

Dalam senario ini, pembangun apl Facebook berusaha untuk menentukan sama ada halaman web dimuatkan dalam iframe atau terus dalam penyemak imbas. Pengetahuan ini membolehkan mereka memaparkan halaman dengan sewajarnya untuk kedua-dua persekitaran.

Penyelesaian:

Penyelesaian sebelumnya menggunakan kod berikut:

function inIframe () {
    try {
        return window.self !== window.top;
    } catch (e) {
        return true;
    }
}

Walau bagaimanapun, kaedah ini mempunyai had kerana sekatan keselamatan penyemak imbas. Pendekatan yang lebih dipercayai disyorkan:

const inIframe = () => window.self !== window.top;

Kod yang dipertingkat ini menyemak sama ada tetingkap semasa ialah tetingkap peringkat atas dengan membandingkan window.self dan window.top. Perbandingan bukan setara menunjukkan persekitaran iframe. Kaedah ini disokong secara meluas oleh penyemak imbas moden.

Atas ialah kandungan terperinci Adakah Halaman Web Saya Dimuat Di Dalam iFrame atau Terus dalam Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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