Hari ini saya mendapat umpan balik dari bug, mengatakan bahwa fungsi halaman tidak dapat digunakan. Buka konsol dan menemukan kesalahan: objek bukan fungsi.
Rasanya sangat aneh. Mengapa fitur ini tiba -tiba memiliki masalah jika belum dipindahkan? Semua browser arus utama telah diuji ketika diluncurkan.
Meskipun aneh, itu masih memecahkan masalah. Melihat kode, saya menemukan bahwa atribut nama objek radio dan nama fungsi digandakan. Kodenya adalah sebagai berikut:
<body> <input type = "Radio" name = "test" onClick = "test ();"/> <br/> <form Action = ""> <input type = "Radio" name = "test" onclick = "test ();"/> </form> </body> <script = "text/javascript"> function () {"11 } </script>Memodifikasi nama fungsi dan menyelesaikan masalah. Tetapi akar penyebabnya tidak ditemukan, karena nama fungsi ini seperti ini sebelumnya dan dapat digunakan secara normal. Ubah kode
OnClick = "Peringatan (tes);"
Saya menemukan bahwa "objek htmlinputElement" muncul, dan browser menguraikan tes dan menjadi objek DOM.
Setelah Peringatan Fungsi Uji Script (tes); masih merupakan fungsi.
Melihat versi SVN, saya menemukan bahwa ketika saya melakukan fungsi lain, saya menambahkan formulir untuk membungkus radio ini. Menyebabkan kesalahan parsing browser.
Ringkasan: Tidak ada masalah dengan kode tanpa modifikasi. Mungkin perubahan akan menyebabkan masalah lain. Beberapa masalah kompatibilitas browser disebabkan oleh kode yang tidak teratur, jadi Anda harus menulis kode di masa depan!
Jika ada yang tahu mengapa peramban formulir telah diuraikan, dapatkah Anda memberi tahu saya. Terima kasih banyak!