Dengan aplikasi JavaScript yang meluas, kami sering menggunakan iframe (bingkai sebaris) dalam halaman web untuk memuatkan halaman web lain. Dalam sesetengah kes, kami mungkin perlu memuatkan halaman web baharu dalam iframe, tetapi mendapati halaman itu tidak dimuatkan semula. Dalam artikel ini, kami akan meneroka punca masalah ini dan memberikan beberapa penyelesaian.
1. Prinsip kerja iframe
Sebelum kita membincangkan masalah secara rasmi, kita perlu terlebih dahulu memahami prinsip kerja iframe. Iframe sebenarnya membenamkan halaman web ke halaman web lain, iaitu, ia adalah subhalaman halaman web. Iframe biasanya ditakrifkan dalam cara berikut:
<iframe src="url"></iframe>
dengan atribut src menentukan URL halaman web untuk dibenamkan. Apabila halaman dimuatkan, penyemak imbas memuatkan URL yang ditentukan dan meletakkannya ke dalam iframe. Kami boleh mengawal saiz dan kedudukan iframe melalui kod JavaScript, dan juga boleh melakukan operasi lain dalam iframe.
2. Sebab mengapa iframe tidak dimuat semula
Sekarang mari kita kembali kepada topik artikel ini: Mengapa halaman tidak dimuatkan semula selepas memuatkan halaman web baharu dalam iframe? Sebabnya ialah apabila kami memuatkan halaman web baharu dalam iframe, kami sebenarnya hanya menggantikan URL dalam iframe dan tidak memuat semula halaman web tersebut. Ini bermakna jika kami membuat beberapa perubahan dalam halaman web baharu, perubahan ini tidak akan dipaparkan dalam iframe melainkan kami memuat semula iframe secara manual.
3 Penyelesaian
Sekarang kami telah memahami sebab mengapa iframe tidak dimuat semula, kami akan memperkenalkan beberapa penyelesaian di bawah:
1
Kami boleh menggunakan kod JavaScript untuk memuat semula iframe. Kodnya adalah seperti berikut:
document.getElementById("myFrame").contentWindow.location.reload();
dengan myFrame ialah ID iframe. Kod ini memuatkan semula URL dalam iframe dan memaksa muat semula halaman.
2. Gunakan tag meta untuk memuat semula iframe
Kaedah lain ialah menggunakan tag meta untuk memuat semula iframe secara automatik. Kita boleh menambah teg berikut pada halaman web untuk dimuat semula:
<meta http-equiv="refresh" content="1">
Antaranya, atribut kandungan menentukan masa muat semula halaman web, dalam beberapa saat. Dalam contoh ini, halaman web akan dimuat semula secara automatik setiap 1 saat. Kaedah ini memudahkan anda memuat semula halaman web secara automatik dalam iframes.
3 Gunakan atribut SRC iframe
Kami juga boleh memuat semula halaman dengan mengubah suai atribut SRC iframe secara langsung. Kodnya adalah seperti berikut:
document.getElementById("myFrame").src = document.getElementById("myFrame").src;
Kod ini akan menetapkan semula atribut SRC bagi iframe semasa kepada dirinya sendiri, sekali gus menyegarkan keseluruhan iframe.
4. Ringkasan
Dalam artikel ini, kami meneroka dengan mendalam sebab iframe tidak memuat semula dalam JavaScript dan menyediakan tiga penyelesaian. Mana-mana pendekatan yang kami ambil, kami boleh memuatkan halaman web baharu dengan mudah dalam iframe dan mengemas kini perubahan dengan segera. Saya harap artikel ini dapat membantu anda menyelesaikan masalah ini, dan saya juga berharap anda boleh menggunakan JavaScript dan iframe dengan lebih baik dalam kerja masa hadapan anda.
Atas ialah kandungan terperinci iframe tidak memuat semula dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!