Men-debug JavaScript di IE7

160

Saya perlu men-debug JavaScript di Internet Explorer 7.

Sayangnya, debugger standarnya tidak memberi saya banyak informasi. Ini memberitahu saya halaman tempat kesalahan muncul (bukan skrip tertentu) dan memberi saya nomor baris. Saya tidak tahu apakah itu terkait dengan masalah saya.

Akan lebih baik jika bisa mempersempit kesalahan ke nomor baris pada skrip tertentu (seperti Firebug bisa).

Apakah ada tambahan untuk debug JavaScript di IE7 seperti yang dilakukan Firebug di Firefox?

Terima kasih!

Lihat juga:

Apakah IE7 memiliki "mode pengembang" atau plugin seperti Firefox / Chrome / Safari?

alex
sumber

Jawaban:

90

Pembantu Pengembangan Web sangat bagus.

The IE Dev Toolbar sering membantu, tapi sayangnya tidak melakukan script debugging

Bob
sumber
4
Yang perlu diperhatikan, mungkin, Anda harus mematikan "nonaktifkan debugging" di opsi lanjutan.
Dan Rosenstark
24
Saya tidak melihat opsi debugging skrip di IE Dev Toolbar, dan versi terbaru dari Web Development Helper tidak berfungsi, bahkan setelah mengubah preferensi lanjutan saya dan memulai kembali IE7.
stevebot
9
Tautan Bantuan Pengembangan Web yang diberikan di atas tidak berfungsi. Adakah yang bisa mengkonfirmasi bahwa ini adalah alat yang sama dengan yang dihosting di sini? softpedia.com/get/Tweak/Browser-Tweak/…
RMorrisey
3
Oh ironi itu; Tautan unduhan softpedia untuk Web Dev Helper mati di IE7! (Kesalahan "Operasi Dibatalkan" yang ditakuti.)
Sean McMillan
1
Saya pikir tautannya mengarah ke malware.
pohon
41

Yang benar adalah: satu-satunya debugger yang bagus untuk IE adalah Visual Studio.

Jika Anda tidak punya uang untuk transaksi nyata, unduh Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition . Sementara yang pertama memungkinkan Anda untuk melampirkan debugger ke yang sudah menjalankan IE, yang terakhir tidak (setidaknya versi sebelumnya yang saya gunakan tidak mengizinkan itu). Jika ini masih terjadi, triknya adalah membuat proyek sederhana dengan satu halaman web kosong, "jalankan" itu (itu memulai browser), sekarang navigasikan ke halaman apa pun yang ingin Anda debug, dan mulai debugging.

Microsoft memberikan Visual Studio lengkap pada acara yang berbeda, biasanya dengan batasan lisensi, tetapi mereka memungkinkan bermain-main di rumah. Periksa jadwal dan daftar barang gratis mereka.

Petunjuk lain: coba debug aplikasi web Anda dengan browser lain terlebih dahulu. Saya sukses besar dengan Opera. Entah bagaimana emulasi Opera terhadap IE dan bug-nya cukup dekat, tetapi debuggernya jauh lebih baik.

Eugene Lazutkin
sumber
2
untuk petunjuk langkah demi langkah, lihat jawaban @ mitjak
rymo
4
VS bukan satu-satunya debugger yang bagus untuk IE, walaupun saya setuju tidak banyak yang bagus. Ini adalah satu-satunya debugger javascript khusus IE yang telah saya gunakan selama bertahun-tahun, meskipun tidak gratis: javascript-debugger.com
Tautan ke VS 2008 hilang. Sekarang menuju ke halaman untuk VS 2012.
Sean McMillan
Ada VS 2012 Express Edition, yang masih gratis (tautan lama sebenarnya menunjuk ke sana).
Eugene Lazutkin
1
VS2012 Express memerlukan Windows 7. Jika Anda mencoba men-debug IE7, itu tidak membantu. Yang Anda butuhkan adalah VS2010 Web Express: microsoft.com/web/gallery/…
Mike Post
32

Anda mungkin ingin mencoba debugger skrip microsoft sudah cukup lama tetapi cukup berguna dalam arti jika Anda menemukan kesalahan javascript, debugger akan muncul untuk menunjukkan kepada Anda baris mana yang berantakan. terkadang bisa membuat iritasi saat Anda melakukan selancar biasa, tetapi Anda bisa mematikannya.

inilah startup yang bagus tentang cara menggunakan alat ini juga. CARA-TO: Debug JavaScript di Internet Explorer

melaos
sumber
Tautan howto rusak. Berikut ini tautan yang diperbarui: jonathanboutelle.com/2006/01/16/…
Dana
Rute debugging gesekan rendah yang hebat, tanpa harus menginstal perangkat lunak pihak ke-3.
Jon Hadley
27

Saya telah menemukan DebugBar .

Tidak sebagus Firebug, tapi dekat.

alex
sumber
3
masih, jauh lebih baik daripada dev toolbar
Sam Saffron
2
Saya tidak tahu mengapa ini bukan jawaban yang diterima. Jauh lebih baik daripada debugger lain untuk IE.
Tres
1
Saya benar-benar menemukan " Companion JS " gratis yang disebutkan di situs mereka untuk bekerja paling baik. Ini memberi tahu Anda dengan tepat file JS & nomor baris mana kesalahan terjadi.
Tyler
25

Di IE7, Anda bisa memunculkan firebug lite untuk halaman saat ini dengan menempelkan yang berikut di bilah alamat:

javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

Lihat http://getfirebug.com/lite.html .

Marc
sumber
6
Firebug lite tidak melakukan Javascript
Casebash
Saya berhenti di FireBug lite dengan konsolnya untuk debug
Eugene Gluhotorenko
Itu memang memiliki konsol yang menjalankan JavaScript, yang saya cari.
Alex W
Sangat berguna untuk memeriksa elemen pada IE 7. Terima kasih! :)
Leniel Maccaferri
7

Microsoft Script Editor memang pilihan, dan dari yang saya sudah mencoba salah satu yang lebih stabil - debugger di IE8 bagus tetapi untuk beberapa alasan setiap kali saya memulai Alat Pengembang dibutuhkan IE8 sebentar, kadang-kadang hingga menit, untuk memeriksa pohon DOM halaman saya. Dan setelah itu sepertinya ingin melakukannya pada setiap halaman refresh yang merupakan siksaan.

Anda dapat memeriksa konten variabel di Microsoft Script editor: jika Anda melihat-lihat di bawah Debug> Window Anda dapat mengaktifkan inspeksi variabel lokal, menonton dll.

Pilihan lain, Visual Web Dev, meskipun tebal, bekerja dengan cukup baik. Untuk mengaturnya, lakukan ini (dicuri dari sini ):

  1. Debugging harus diaktifkan di IE. Buka Alat> Opsi Internet> Tingkat Lanjut dan periksa bahwa Nonaktifkan Debugging Skrip (Internet Explorer) tidak dicentang dan Tampilkan pemberitahuan tentang setiap kesalahan skrip diperiksa.
  2. Buat proyek web kosong baru di dalam VWD
  3. Klik kanan pada situs di Solutions Explorer di kanan atas, pergi ke Browse With dan pastikan browser default Anda diatur ke IE (masuk akal untuk menganggap jika Anda seorang pengembang web IE bukan browser default Anda dalam hal ini itu tidak akan menjadi default .. secara default)
  4. Hit F5, IE akan terbuka. Jelajahi halaman yang ingin Anda debug.
  5. VWD sekarang akan terbuka setiap kali Anda memiliki kesalahan skrip atau jika Anda menetapkan breakpoint di salah satu file JS. Debug pergi!

UPDATE : Omong-omong, jika Anda mengalami perlambatan yang sama seperti saya dengan debugger IE8 lain yang layak, ada solusi - jika Anda menemukan atau membuat IE mengalami kesalahan sehingga muncul dialog "Apakah Anda ingin men-debug" dan tekan Ya, debugger akan muncul cukup banyak secara instan. Sepertinya jika Anda masuk "langsung" ke mode debugging, Dev Tools tidak pernah memeriksa DOM. Hanya ketika Anda menekan F12, itu terjadi.

dmkc
sumber
Saya harus menguji ini lagi tetapi sejauh ini sepertinya debugger IE8 bekerja lebih cepat saat menjelajah dalam mode kompatibilitas. Sosok pergi!
dmkc
1
Jika Anda menggunakan versi VWD Express (gratis), pastikan Anda telah menutup SEMUA jendela IE sebelum langkah 4 - VWD harus menjadi orang yang memulai IE segar sehingga "memilikinya".
rymo
3

IE8 memiliki banyak alat pengembang yang ditingkatkan. Sampai saat itu yang terbaik adalah menulis javascript untuk firefox terlebih dahulu dan kemudian debug IE menggunakan pernyataan alert ().

Joel Coehoorn
sumber
Tidak bisa menunggu IE8 (selama masih hidup sampai hype - saya belum mengunduh beta)
alex
Sekarang bahwa itu keluar saya sudah udpated, dan saya harus mengatakan bahwa saya seperti debugger bahkan lebih baik daripada pembakar ini :)
Joel Coehoorn
@ Joel, meskipun debuggernya bagus - satu hal yang mengganggu saya (yang dimiliki Firebug) adalah menu konteks klik kanan di mana Anda dapat memilih "inspect element". Sepengetahuan saya, di IE8 Anda harus meluncurkan alat pengembang, lalu klik panah, lalu temukan elemen yang ingin Anda periksa.
alex
3

Microsoft Script Editor dapat digunakan untuk men-debug Javascript di IE. Ini kurang buggy daripada Microsoft Script Debugger tetapi memiliki fungsi dasar yang sama, yang sayangnya cukup terbatas untuk melangkah melalui eksekusi. Sepertinya saya tidak bisa memeriksa variabel atau hal-hal berguna seperti itu. Juga, itu hanya dikirim dengan Office XP / 2003 untuk beberapa alasan aneh. Info lebih lanjut di sini jika Anda sedang bermain.

Saya mengunduh Visual Web Developer 2008 Express Edition yang disebutkan oleh Eugene Lazutkin tetapi belum memiliki kesempatan untuk mencobanya. Saya akan merekomendasikan mencobanya sebelum Editor Skrip / Debugger.

Kenny
sumber
3

Ini bukan debugger lengkap, tetapi ekstensi DP_DEBUG saya menyediakan beberapa fungsi bermanfaat (saya pikir) dan mereka berfungsi di IE, Firefox dan Opera (9+).

Anda dapat "membuang" representasi visual objek JavaScript kompleks (bahkan objek sistem), melakukan penyederhanaan pencatatan dan pengaturan waktu. Komponen menyediakan metode sederhana untuk mengaktifkan atau menonaktifkannya sehingga Anda dapat meninggalkan debugger di tempat untuk pekerjaan produksi jika Anda mau.

DP_Debug

Jim Davis
sumber
2

Alat pengembang IE9 bekerja untuk saya. Atur saja item menu "Browser Mode" ke IE7.

Peter Tseng
sumber
7
Ini berguna, tetapi IE7 yang ditiru tidak sama.
alex
Saya kira itu tergantung. Jika saya dapat mereproduksi masalah dalam mode emulasi IE9, maka saya akan memperbaikinya di sana. Jika tidak, Firebug Lite adalah solusi yang bagus - meskipun Anda harus menginstal IE7 di suatu tempat.
Peter Tseng
1

Hai saya menemukan masalah yang sama dan menemukan ini aplikasi IETESTER . Ini cukup luar biasa, ini adalah aplikasi yang memiliki IE 5.5,6, dan 7 dibundel ke dalamnya. Tidak masalah apa versi IE yang Anda miliki saat ini. Ini memungkinkan Anda untuk memiliki beberapa versi berdampingan.

Jika Anda mengaktifkan debugging javascript di opsi IE dan menginstal Visual Studio, Anda bahkan dapat men-debug javascript di VS dengan semua opsi debug yang tersedia untuk Anda (jam tangan, breakpoint kondisional, dll.)

Jika Anda ingin mulai men-debug sebelum terjadi kesalahan, Anda cukup meletakkan barisnya

debugger;

ke dalam kode JS Anda dan ini membawa Anda ke VS untuk mulai men-debug setelah pernyataan ini.

Ini benar-benar luar biasa bagi saya untuk menguji kompatibilitas mundur untuk kode JS.

Jose
sumber
0

Gunakan Internet Explorer 8. Kemudian Coba alat pengembang .. Anda dapat men-debug berdasarkan IE 7 juga dalam mode kompatibilitas

Joberror
sumber
17
IE7! = Mode compat IE8. Ada ketidakcocokan.
durï
1
+1 Setidaknya IE8 memberi tahu Anda nama file skrip yang menyebabkan kesalahan.
Kolonel Sponsz
@thorn, tapi ada mode IE7. (Mungkin tidak ada, sebelumnya?) Jadi: reguler, mode kompatibilitas, mode IE7.
ANeves
1
@ ANeves itu hanya nama yang berbeda untuk hal yang sama
durï
4
@ ANeves Sepertinya "mode IE7" hanyalah "mode kompatibilitas" dengan agen pengguna yang diubah menjadi yang digunakan oleh IE7. Tetapi saya ingin menekankan lagi bahwa mode kompatibilitas tidak kompatibel. Misalnya, reseting properti gaya melalui jQuery terlihat seperti ini di IE7 (dan browser lainnya): $my.css('z-index', null). Di IE8, kode ini menampilkan kesalahan, bahkan dalam mode kompatibilitas yang disebut. Jadi saya harus menulis kode seperti ini:$my.css('z-index', ie8 ? 'auto' : null)
thorn̈
0

Jawabannya sederhana.

  1. Dapatkan Internet Explorer 9
  2. Tekan F12 untuk memuat Alat Pengembang
  3. Alihkan mode browser ke IE7

mengganti mode browser pada IE9

desbest
sumber
6
Karena itu tidak dapat diandalkan :( Semua tiket terbuka di proyek saya saat ini yang terhubung ke IE7 tidak dapat direproduksi di Vista Windows 7
AlfeG
4
Bisa membantu, jika kesalahan dapat direproduksi. Tetapi ada beberapa kesalahan, yang tidak terjadi di IE9 dengan IE7-mode, tetapi di IE7 asli (sama untuk IE8)
yunzen
0

Menjalankan kode Anda melalui alat analisis statis Javascript seperti JSLint dapat menangkap beberapa kesalahan IE7 umum, seperti membuntuti koma dalam definisi objek.

Ian Mackinnon
sumber
0

Alat Pengembang IE8 dapat beralih ke mode IE7masukkan deskripsi gambar di sini

Viktor
sumber
0

Jika Anda masih perlu melakukan Debug IE 7, mode emulasi IE 11 bekerja dengan cukup baik.

Buka menu: Dev Tools, lalu untuk emulasi dan atur. Ini juga memberikan informasi garis kesalahan.

Erdal G.
sumber
-1

Alat-alat berikut ini sangat cocok untuk saya:

1) http://www.debugbar.com/

Menyediakan UI yang nyaman dengan fitur seperti sumber, gaya, DOM, Script, pemeriksaan HTML. Itu juga menunjukkan kesalahan aktual dalam file JS Anda (baris mana, file mana).

2) http://www.my-debugbar.com/wiki/CompanionJS/Instaling

Berikan konsol untuk IE6 atau IE7 (yang awalnya tidak mendukung)

  • Tangkapan layar

masukkan deskripsi gambar di sini

super1ha1
sumber