Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengakses Fungsi JavaScript dalam iFrame daripada Halaman Induk?

Bagaimanakah Saya Boleh Mengakses Fungsi JavaScript dalam iFrame daripada Halaman Induk?

Susan Sarandon
Susan Sarandonasal
2024-12-23 21:52:20199semak imbas

How Can I Access JavaScript Functions in an iFrame from the Parent Page?

Mengakses Kod JavaScript dalam iFrame daripada Halaman Induk

Meminta kod JavaScript dalam iFrame terbenam daripada halaman induk boleh menjadi cabaran biasa . Walaupun keupayaan untuk berinteraksi dengan halaman induk dari dalam iFrame adalah mudah, mengakses fungsi yang ditakrifkan dalam iFrame daripada halaman induk memerlukan pendekatan yang berbeza.

Penyelesaian:

Untuk mencapai matlamat ini, anda boleh memanfaatkan teknik berikut:

  1. Kenal pasti ID dan Nama Fungsi iFrame:
    Pastikan iFrame anda mempunyai ID unik dan fungsi yang anda ingin gunakan mempunyai nama tertentu.
  2. Dapatkan Tetingkap Kandungan:
    Menggunakan kaedah document.getElementById(), sasarkan iFrame tertentu mengikut IDnya dan dapatkan semula sifat contentWindownya:

    const contentWindow = document.getElementById('iFrameID').contentWindow;
  3. Gunakan Fungsi:
    Setelah anda mempunyai tetingkap kandungan iFrame, anda boleh menggunakan fungsi yang diingini dengan memanggil:

    contentWindow.functionName();

Sebagai contoh, jika anda ID iFrame ialah "targetFrame" dan fungsi yang anda ingin panggil ialah targetFunction(), anda akan gunakan:

document.getElementById('targetFrame').contentWindow.targetFunction();

Kaedah Alternatif:

Sebagai alternatif, anda boleh akses tetingkap kandungan iFrame menggunakan window.frames:

 // This option may not work in the latest versions of Chrome and Firefox.
window.frames[0].frameElement.contentWindow.targetFunction();

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Fungsi JavaScript dalam iFrame daripada Halaman Induk?. 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