Memanggil Fungsi JavaScript dalam Iframe daripada Halaman Induk
Apabila iframe dibenamkan dalam halaman web, ia mewujudkan persekitaran kotak pasir yang mengasingkan kod di dalamnya daripada halaman induk. Walau bagaimanapun, mungkin terdapat senario di mana anda perlu mengakses dan menggunakan fungsi JavaScript yang ditakrifkan dalam iframe daripada halaman induk.
Memahami Cabaran
Pendekatan standard, memanggil parent.functionName() dari dalam iframe, tidak berfungsi dalam kes ini. Ini kerana halaman induk bukan induk langsung iframe, sebaliknya persekitaran maya kotak pasir iframe.
Mengakses Tetingkap Kandungan Iframe
Untuk mengakses dan menggunakan JavaScript berfungsi dalam iframe, anda perlu mendapatkan rujukan kepada sifat contentWindownya. Sifat ini mewakili objek tetingkap iframe, memberikan anda akses kepada pembolehubah global, fungsi dan DOMnya.
Memanfaatkan Fungsi JavaScript
Sebaik sahaja anda mempunyai contentWindow rujukan, anda boleh menggunakan fungsi JavaScript dalam iframe dengan menggunakan sintaks berikut:
document.getElementById('iframeID').contentWindow.functionName();
di mana iframeID ialah atribut id bagi iframe.
Mengakses Bingkai Menggunakan window.frames
Sebagai alternatif, anda juga boleh menggunakan window.frames untuk mengakses iframe anda. Apabila menggunakan kaedah ini, anda harus ambil perhatian bahawa ia mungkin tidak disokong dalam semua penyemak imbas moden. Sintaks untuk pendekatan ini ialah:
window.frames[0].frameElement.contentWindow.functionName();
Contoh
Andaikan iframe anda mempunyai id "targetFrame" dan fungsi yang anda ingin gunakan dipanggil "targetFunction ()":
document.getElementById('targetFrame').contentWindow.targetFunction();
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi JavaScript dalam Iframe daripada Halaman Induknya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!