BUG dilaporkan hari ini, mengatakan bahawa fungsi pada halaman tidak boleh digunakan. Buka konsol dan cari ralat: objek bukan fungsi.
Rasanya sangat pelik fungsi ini tidak disentuh baru-baru ini, jadi mengapa tiba-tiba menimbulkan masalah? Semua pelayar utama telah diuji apabila ia masuk dalam talian.
Walaupun pelik, ia tetap menyelesaikan masalah. Melihat kod itu, saya mendapati bahawa atribut nama objek radio mempunyai nama yang sama dengan nama fungsi. Kodnya adalah seperti berikut:
<body> <input type="radio" name="test" onclick="test();"/> <br/> <form action=""> <input type="radio" name="test" onclick="test();"/> </form> </body> <script type="text/javascript"> function test(){ alert("11"); } </script>
Mengubah suai nama fungsi dan menyelesaikan masalah. Tetapi punca utama tidak ditemui, kerana nama fungsinya seperti ini sebelum ini dan boleh digunakan secara normal. Ubah suai kod
onclick="alert(test);"
Saya mendapati bahawa "objek HTMLInputElement" muncul dan penyemak imbas menghuraikan ujian ke dalam objek dom.
Selepas amaran fungsi ujian skrip(ujian);
Melihat versi svn, saya mendapati bahawa saya menambah borang untuk menutup radio apabila saya melakukan fungsi lain. Ini menyebabkan ralat penghuraian penyemak imbas.
Ringkasan: Kod yang tidak ditukar mungkin tidak menjadi masalah. Beberapa isu keserasian penyemak imbas disebabkan oleh penyelewengan kod Anda mesti menulis kod dengan cara yang standard pada masa hadapan!
Jika mana-mana pakar tahu mengapa masalah penghuraian penyemak imbas berlaku selepas menambah borang, bolehkah anda beritahu saya. Terima kasih banyak-banyak!