Mengapa Internet Explorer Melemparkan Ralat 'console is undefined' dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-11-15 07:44:03
asal
299 orang telah melayarinya

Why Does Internet Explorer Throw

Ie's Undefined 'console: A Solution

Menghadapi ralat "console is undefined" semasa menyahpepijat halaman web anda dalam Internet Explorer boleh mengecewakan . Berikut ialah panduan komprehensif untuk menyelesaikan isu ini dan mencegah ralat skrip dengan berkesan.

Latar Belakang Masalah

Firebug ialah alat yang sangat baik untuk memantau kod anda, tetapi pernyataan tertentu seperti "konsol .log(...)" boleh mencetuskan ralat masa jalan dalam IE8 dan versi yang lebih lama. Ini kerana IE tidak mempunyai objek konsol asli, yang membawa kepada isu "console is undefined".

Percubaan Awal

Percubaan untuk menampal isu ini dengan mentakrifkan konsol olok-olok objek dengan fungsi "log" pemegang tempat seperti ini:

<script type="text/javascript">
    if (!console) console = {log: function() {}};
</script>
Salin selepas log masuk

mungkin tidak mencukupi. IE nampaknya mentafsir kod sedemikian dengan betul tetapi masih membuang ralat "konsol tidak ditentukan".

Penyelesaian Terbukti

Untuk menghapuskan ralat ini dengan berkesan, cuba pendekatan yang diubah suai ini:

<script type="text/javascript">
    if (!window.console) console = {log: function() {}};
</script>
Salin selepas log masuk

Kaedah yang disemak ini terbukti lebih dipercayai kerana ia menyemak atribut 'window.console' dan bukannya mengakses terus 'console.' Pembolehubah yang tidak ditentukan tidak boleh dirujuk secara langsung, tetapi mengakses atribut yang tidak ditentukan bagi konteks global (tetingkap dalam penyemak imbas) boleh diterima.

Pilihan Alternatif

Jika anda lebih suka elakkan pembolehubah 'tetingkap', anda boleh menggunakan alternatif ini:

<script type="text/javascript">
    if (typeof console === 'undefined') console = {log: function() {}};
</script>
Salin selepas log masuk

Pilihan ini mencapai hasil yang sama dengan berkesan.

Atas ialah kandungan terperinci Mengapa Internet Explorer Melemparkan Ralat 'console is undefined' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan