Bagaimana cara mencetak pesan debug di Google Chrome JavaScript Console?
Harap perhatikan bahwa Konsol JavaScript tidak sama dengan JavaScript Debugger; mereka memiliki sintaks yang berbeda AFAIK, sehingga perintah cetak dalam JavaScript Debugger tidak akan berfungsi di sini. Di Konsol JavaScript, print()
akan mengirim parameter ke printer.
javascript
console
debugging
google-chrome
Tamas Czinege
sumber
sumber
console.log()
ini luar biasa untuk debugging js ... Saya sering lupa menggunakannya dalam praktek.console.log()
kode apa pun harus dihapus dari kode produksi sebelum penyebaran.Console.Log
harus dihapus dari kode produksi sebelum penyebaran karena jika tidak, pesan-pesan ini akan masuk ke konsol JavaScript pengguna Anda. Sementara mereka tidak mungkin melihatnya, itu memakan ruang memori pada perangkat mereka. Juga, tergantung pada konten Log, Anda berpotensi memberi tahu orang-orang cara meretas / merekayasa balik aplikasi Anda.Memperbaiki ide Andru, Anda dapat menulis skrip yang membuat fungsi konsol jika tidak ada:
Kemudian, gunakan salah satu dari yang berikut:
Fungsi-fungsi ini akan mencatat berbagai jenis item (yang dapat difilter berdasarkan log, info, kesalahan atau peringatan) dan tidak akan menyebabkan kesalahan ketika konsol tidak tersedia. Fungsi-fungsi ini akan berfungsi di Firebug dan konsol Chrome.
sumber
if (!window.console) {
lalu memasukkan semuanya ke dalam tanda kurung? Saat ini Anda sedang mengevaluasi hal yang sama empat kali.Cukup tambahkan fitur keren yang banyak dilewatkan oleh pengembang:
Ini adalah magis
%o
sampah yang dapat diklik dan mendalam-dibrowse isi dari objek JavaScript.%s
ditampilkan hanya untuk dicatat.Ini juga keren:
Yang memberikan jejak tumpukan seperti Java ke titik
new Error()
doa (termasuk jalur ke file dan nomor baris !).Keduanya
%o
dannew Error().stack
tersedia di Chrome dan Firefox!Juga untuk jejak tumpukan dalam penggunaan Firefox:
Seperti https://developer.mozilla.org/en-US/docs/Web/API/console berkata.
Selamat melakukan peretasan!
UPDATE : Beberapa perpustakaan ditulis oleh orang jahat yang mendefinisikan ulang
console
objek untuk keperluan mereka sendiri. Untuk mengembalikan browser asliconsole
setelah memuat perpustakaan, gunakan:Lihat pertanyaan Stack Overflow Memulihkan console.log () .
sumber
Hanya peringatan cepat - jika Anda ingin menguji di Internet Explorer tanpa menghapus semua console.log (), Anda harus menggunakan Firebug Lite atau Anda akan mendapatkan beberapa kesalahan yang tidak terlalu ramah.
(Atau buat console.log () Anda sendiri yang hanya mengembalikan false.)
sumber
console
objek dibuat dan ada sampai Anda menutup instance browser itu.Berikut ini adalah skrip pendek yang memeriksa apakah konsol tersedia. Jika tidak, ia mencoba memuat Firebug dan jika Firebug tidak tersedia, ia memuat Firebug Lite. Sekarang Anda dapat menggunakan
console.log
browser apa saja. Nikmati!sumber
Selain jawaban Delan Azabani , saya suka berbagi
console.js
, dan saya gunakan untuk tujuan yang sama. Saya membuat konsol noop menggunakan array nama fungsi, apa yang menurut saya cara yang sangat nyaman untuk melakukan ini, dan saya menangani Internet Explorer, yang memilikiconsole.log
fungsi, tetapi tidakconsole.debug
:sumber
Atau gunakan fungsi ini:
sumber
console.constructor === Object && (log = m => console.log(m))
Inilah kelas pembungkus konsol saya. Ini memberi saya ruang lingkup keluaran juga untuk membuat hidup lebih mudah. Catat penggunaan
localConsole.debug.call()
sehinggalocalConsole.debug
berjalan dalam lingkup kelas panggilan, memberikan akses ketoString
metodenya.Ini menghasilkan seperti di Firebug :
Atau Chrome:
sumber
Secara pribadi saya menggunakan ini, yang mirip dengan tarek11011:
Poin utamanya adalah ide yang baik untuk setidaknya memiliki beberapa praktik penebangan selain hanya menempel
console.log()
langsung ke kode JavaScript Anda, karena jika Anda melupakannya, dan itu ada di situs produksi, ini berpotensi dapat mematahkan semua kode JavaScript. untuk halaman itu.sumber
if(windows.console) console.log(msg)
?window.console
maksudmu. satu-satunya waktu mencoba akan berguna adalah jika Kesalahan dilemparkan (jika console.log bukan fungsi) karena konsol didefinisikan ulang. Melakukannyawindow.console && window.console.log instanceof Function
akan lebih bermanfaat.Anda dapat menggunakan
console.log()
jika Anda memiliki kode debugged di editor perangkat lunak pemrograman apa yang Anda miliki dan Anda akan melihat output yang kemungkinan besar editor terbaik untuk saya (Google Chrome). Cukup tekan F12dan tekan tab Konsol. Anda akan melihat hasilnya. Selamat coding. :)sumber
Saya punya banyak masalah dengan pengembang memeriksa di konsol mereka. () Pernyataan. Dan, saya benar-benar tidak suka men-debug Internet Explorer, meskipun ada peningkatan fantastis dari Internet Explorer 10 dan Visual Studio 2012 , dll.
Jadi, saya telah mengganti objek konsol itu sendiri ... Saya telah menambahkan flag __localhost yang hanya memungkinkan pernyataan konsol saat di localhost. Saya juga menambahkan konsol. () Berfungsi untuk Internet Explorer (yang menampilkan peringatan () sebagai gantinya).
Contoh penggunaan:
Chrome / Firefox:
Internet Explorer:
Bagi mereka yang memperhatikan kode ini, Anda akan menemukan fungsi console.examine (). Saya membuat ini tahun lalu sehingga saya dapat meninggalkan kode debug di area tertentu di sekitar produk untuk membantu memecahkan masalah QA / masalah pelanggan. Misalnya, saya akan meninggalkan baris berikut dalam beberapa kode yang dirilis:
Dan kemudian dari produk yang dirilis, ketikkan yang berikut ke konsol (atau bilah alamat yang diawali dengan 'javascript:'):
Lalu, saya akan melihat semua pernyataan console.examine () yang dicatat. Sudah bantuan yang fantastis berkali-kali lipat.
sumber
Simple Internet Explorer 7 dan di bawah shim yang mempertahankan penomoran baris untuk browser lain:
sumber
Menggunakan metode ini mencetak teks dalam warna biru cerah di konsol.
sumber
Memperbaiki lebih lanjut gagasan Delan dan Andru (itulah sebabnya jawaban ini adalah versi yang diedit); console.log mungkin ada sementara fungsi lainnya mungkin tidak, jadi miliki peta default untuk fungsi yang sama dengan console.log ....
Anda dapat menulis skrip yang membuat fungsi konsol jika tidak ada:
Kemudian, gunakan salah satu dari yang berikut:
Fungsi-fungsi ini akan mencatat berbagai jenis item (yang dapat difilter berdasarkan log, info, kesalahan atau peringatan) dan tidak akan menyebabkan kesalahan ketika konsol tidak tersedia. Fungsi-fungsi ini akan berfungsi di Firebug dan konsol Chrome.
sumber