Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengelakkan Ralat 'console is undefined' dalam Internet Explorer?
Ralat Pengendalian untuk 'konsol' Tidak Ditakrifkan dalam Internet Explorer
Apabila menggunakan Firebug, pernyataan seperti console.log("...") mungkin menghadapi ralat yang mendakwa bahawa 'konsol' tidak ditentukan, terutamanya dalam Internet Explorer 8 dan versi terdahulu. Untuk menyelesaikan masalah ini, percubaan telah dibuat untuk melaksanakan penyelesaian dengan menambahkan blok skrip pada permulaan halaman dengan:
<script type="text/javascript"> if (!console) console = {log: function() {}}; </script>
Walau bagaimanapun, ralat berterusan. Penyelesaian yang lebih berkesan disyorkan:
if (!window.console) console = ...
Pendekatan ini memanfaatkan fakta bahawa pembolehubah yang tidak ditentukan tidak boleh diakses secara langsung. Sebaliknya, semua pembolehubah global wujud sebagai atribut konteks global, tetingkap dalam kes penyemak imbas. Akibatnya, mengakses atribut yang tidak ditentukan, seperti window.console, tidak menghasilkan ralat.
Kaedah alternatif untuk mengelak daripada menggunakan tetingkap pembolehubah global adalah dengan menggunakan operator jenis:
if (typeof console === 'undefined') console = ...
Pendekatan ini memastikan konsol tidak ditakrifkan sebelum memberikannya nilai, dengan berkesan menekan ralat.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat 'console is undefined' dalam Internet Explorer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!