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!