Gỡ lỗi JavaScript trong IE7


160

Tôi cần gỡ lỗi JavaScript trong Internet Explorer 7.

Thật không may, trình gỡ lỗi mặc định của nó không cung cấp cho tôi nhiều thông tin. Nó cho tôi biết trang đã xuất hiện lỗi (không phải tập lệnh cụ thể) và cho tôi số dòng. Tôi không biết nếu điều đó có liên quan đến vấn đề của tôi.

Sẽ thật tuyệt nếu nó có thể thu hẹp lỗi thành một số dòng trên một tập lệnh cụ thể (như Fireorms có thể).

Có một addon để gỡ lỗi JavaScript trong IE7 giống như Fireorms trong Firefox không?

Cảm ơn bạn!

Xem thêm:

IE7 có chế độ dành cho nhà phát triển hay không, hay plugin như Firefox / Chrome / Safari?

Câu trả lời:


90

Trình trợ giúp phát triển web là rất tốt.

Các IE Dev Toolbar là thường hữu ích, nhưng tiếc là không làm script debugging


4
Đáng chú ý, có lẽ, là bạn phải tắt "tắt gỡ lỗi" trong các tùy chọn nâng cao.
Dan Rosenstark

24
Tôi không thấy bất kỳ tùy chọn gỡ lỗi tập lệnh nào trong Thanh công cụ IE Dev và phiên bản mới nhất của Trình trợ giúp phát triển web không hoạt động, ngay cả sau khi thay đổi tùy chọn nâng cao của tôi và khởi động lại IE7.
stevebot

9
Liên kết Trình trợ giúp Phát triển Web được cung cấp ở trên không còn tồn tại. Bất cứ ai cũng có thể xác nhận rằng đây là cùng một công cụ được lưu trữ ở đây? softpedia.com/get/Tweak/Browser-Tweak/ từ
RMorrisey

3
Thật trớ trêu; Liên kết tải xuống softpedia cho Web Dev Helper chết trong IE7! (Lỗi "Hoạt động bị hủy bỏ" đáng sợ.)
Sean McMillan

1
Tôi nghĩ rằng các liên kết dẫn đến phần mềm độc hại.
cây

41

Sự thật phũ phàng là: trình gỡ lỗi tốt duy nhất cho IE là Visual Studio.

Nếu bạn không có tiền cho thỏa thuận thực sự, hãy tải xuống Visual Web Developer 2008 Express Edition miễn phí Visual Web Developer 2010 Express Edition . Mặc dù phiên bản trước cho phép bạn đính kèm trình gỡ lỗi để chạy IE, nhưng phiên bản sau không (ít nhất là các phiên bản trước tôi đã sử dụng không cho phép điều đó). Nếu đây vẫn là trường hợp, mẹo là tạo một dự án đơn giản với một trang web trống, "chạy" nó (nó khởi động trình duyệt), bây giờ điều hướng đến bất kỳ trang nào bạn muốn gỡ lỗi và bắt đầu gỡ lỗi.

Microsoft cung cấp Visual Studio đầy đủ cho các sự kiện khác nhau, thường là hạn chế giấy phép, nhưng họ cho phép mày mò tại nhà. Kiểm tra lịch trình của họ và danh sách miễn phí.

Một gợi ý khác: trước tiên hãy thử gỡ lỗi ứng dụng web của bạn với các trình duyệt khác. Tôi đã có một thành công lớn với Opera. Bằng cách nào đó, giả lập IE của IE và các lỗi của nó khá gần, nhưng trình gỡ lỗi tốt hơn nhiều.


2
để được hướng dẫn từng bước, hãy xem câu trả lời của @ mitjak
rymo

4
VS không phải là trình gỡ lỗi tốt duy nhất cho IE, mặc dù tôi đồng ý rằng không có nhiều trình tốt. Đây là một trình gỡ lỗi javascript dành riêng cho IE mà tôi đã sử dụng trong nhiều năm, mặc dù nó không miễn phí: javascript-debugger.com

Liên kết đến VS 2008 không còn nữa. Bây giờ nó đi đến một trang cho VS 2012.
Sean McMillan

Có phiên bản VS 2012 Express, vẫn miễn phí (liên kết cũ thực sự trỏ đến nó).
Eugene Lazutkin

1
VS2012 Express yêu cầu Windows 7. Nếu bạn đang cố gắng gỡ lỗi IE7, điều đó không hữu ích. Những gì bạn cần là VS2010 Web Express: microsoft.com/web/gallery/ trộm
Mike Post

32

bạn có thể muốn dùng thử trình gỡ lỗi tập lệnh microsoft khá cũ nhưng nó khá hữu ích nếu bạn vấp phải bất kỳ lỗi javascript nào, trình gỡ lỗi sẽ bật lên để hiển thị cho bạn dòng nào đang gây rối. đôi khi nó có thể bị kích thích khi bạn lướt web bình thường, nhưng bạn có thể tắt nếu tắt.

Đây là một khởi đầu tốt về cách sử dụng công cụ này. CÁCH LÀM: Gỡ lỗi JavaScript trong Internet Explorer


Liên kết howto bị hỏng. Đây là một liên kết được cập nhật: jonathanboutelle.com/2006/01/16/ Kẻ
Dana

Tuyến gỡ lỗi ma sát thấp, không phải cài đặt bất kỳ phần mềm bên thứ 3 nào.
Jon Hadley

27

Tôi đã tìm thấy DebugBar .

Không tốt như Fireorms, nhưng gần gũi.


3
Tuy nhiên, cách tốt hơn so với thanh công cụ dev
Sam Saffron

2
Tôi không biết tại sao đây không phải là câu trả lời được chấp nhận. Bởi tốt hơn bất kỳ trình gỡ lỗi nào khác cho IE.
Tres

1
Tôi thực sự đã tìm thấy " JS đồng hành " miễn phí được đề cập trên trang web của họ để hoạt động tốt nhất. Nó cho bạn biết chính xác tệp JS & số dòng xảy ra lỗi.
Tyler

25

Trong IE7, bạn có thể hiển thị fireite lite cho trang hiện tại bằng cách dán phần sau vào thanh địa chỉ:

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);

Xem http://getfireorms.com/lite.html .


6
Firebird lite không làm Javascript
Casebash

Tôi dừng lại ở FireBug với bộ điều khiển để gỡ lỗi
Eugene Gluhotorenko

Nó có một giao diện điều khiển chạy JavaScript, đó là những gì tôi đang tìm kiếm.
Alex W

Thực sự hữu ích để kiểm tra các yếu tố trên IE 7. Cảm ơn! :)
Leniel Maccaferri

7

Microsoft Script Editor thực sự là một tùy chọn và trong số những cái tôi đã thử một trong những cái ổn định hơn - trình gỡ lỗi trong IE8 rất tuyệt nhưng vì một số lý do mỗi khi tôi khởi động Công cụ dành cho nhà phát triển, đôi khi phải mất một thời gian phút, để kiểm tra cây DOM trang của tôi. Và sau đó dường như muốn làm điều đó trên mỗi trang làm mới đó là một cực hình.

Bạn có thể kiểm tra nội dung của các biến trong trình soạn thảo Microsoft Script: nếu bạn chọc vào bên dưới Debug> Window, bạn có thể bật kiểm tra biến cục bộ, xem, v.v.

Tùy chọn khác, Visual Web Dev, trong khi cồng kềnh, hoạt động khá tốt. Để thiết lập nó, hãy làm điều này (bị đánh cắp từ đây ):

  1. Gỡ lỗi nên được bật trong IE. Đi vào Công cụ> Tùy chọn Internet> Nâng cao và kiểm tra xem Vô hiệu hóa gỡ lỗi tập lệnh (Internet Explorer) không được chọn và Hiển thị thông báo về mọi lỗi tập lệnh được chọn
  2. Tạo một dự án web trống mới bên trong VWD
  3. Nhấp chuột phải vào trang web trong Explorer Explorer ở góc trên bên phải, đi tới Duyệt với và đảm bảo trình duyệt mặc định của bạn được đặt thành IE (hợp lý khi cho rằng bạn là nhà phát triển web IE không phải là trình duyệt mặc định của bạn trong trường hợp nào đó sẽ không phải là mặc định .. theo mặc định)
  4. Nhấn F5, IE sẽ mở ra. Duyệt đến trang bạn muốn gỡ lỗi.
  5. Giờ đây, VWD sẽ mở ra bất cứ khi nào bạn gặp lỗi tập lệnh hoặc nếu bạn đặt điểm dừng trong một trong các tệp JS. Gỡ lỗi đi!

CẬP NHẬT : Nhân tiện, nếu bạn gặp phải sự chậm chạp tương tự như tôi với trình gỡ lỗi tốt của IE8, có một cách giải quyết - nếu bạn gặp phải hoặc khiến IE gặp lỗi để nó bật lên đoạn hội thoại "Bạn có muốn gỡ lỗi" không và nhấn Có, trình gỡ lỗi sẽ xuất hiện khá nhiều ngay lập tức. Có vẻ như nếu bạn "chuyển thẳng" sang chế độ gỡ lỗi, Công cụ Dev không bao giờ kiểm tra DOM. Chỉ khi bạn nhấn F12 thì mới được.


Tôi phải kiểm tra thêm một số thứ nữa nhưng cho đến nay có vẻ như trình gỡ lỗi IE8 hoạt động nhanh hơn khi duyệt ở chế độ tương thích. Đi đi!
dmkc

1
Nếu bạn đang sử dụng phiên bản Express (miễn phí) của VWD, hãy đảm bảo bạn đã đóng TẤT CẢ các cửa sổ IE trước bước 4 - VWD phải là người khởi động IE mới để nó "sở hữu" nó.
rymo

3

IE8 có nhiều công cụ phát triển được cải tiến. Cho đến lúc đó, tốt nhất là viết javascript cho firefox trước và sau đó gỡ lỗi IE bằng cách sử dụng các câu lệnh alert ().


Không thể chờ IE8 (miễn là nó hoạt động đến mức cường điệu - Tôi chưa tải xuống bản beta)
alex

Bây giờ tôi đã phát hiện ra và tôi phải nói rằng tôi thích trình gỡ lỗi thậm chí còn tốt hơn cả firebird :)
Joel Coehoorn

@Joel, mặc dù trình gỡ lỗi rất tuyệt - một điều khiến tôi khó chịu (đó là Fireorms) là một menu ngữ cảnh nhấp chuột phải, nơi bạn có thể chọn "kiểm tra phần tử". Theo hiểu biết của tôi, trong IE8, bạn phải khởi chạy các công cụ dành cho nhà phát triển, sau đó nhấp vào mũi tên, sau đó tìm phần tử bạn muốn kiểm tra.
alex

3

Microsoft Script Editor có thể được sử dụng để gỡ lỗi Javascript trong IE. Nó ít lỗi hơn Microsoft Script Debugger nhưng có cùng chức năng cơ bản, điều không may là bị giới hạn khá nhiều trong việc thực hiện. Tôi dường như không thể kiểm tra các biến hoặc bất kỳ công cụ tiện dụng nào như thế. Ngoài ra, nó chỉ được vận chuyển với Office XP / 2003 vì một lý do kỳ quái. Thêm thông tin ở đây nếu bạn là trò chơi.

Tôi đã tải xuống Visual Web Developer 2008 Express Edition được đề cập bởi Eugene Lazutkin nhưng chưa có cơ hội dùng thử. Tôi khuyên bạn nên thử điều đó trước Script Editor / Debugger.


3

Đây không phải là trình gỡ lỗi đầy đủ, nhưng các tiện ích mở rộng DP_DEBUG của tôi cung cấp một số chức năng hữu ích (tôi nghĩ) và chúng hoạt động trong IE, Firefox và Opera (9+).

Bạn có thể "kết xuất" các biểu diễn trực quan của các đối tượng JavaScript phức tạp (thậm chí cả các đối tượng hệ thống), thực hiện ghi nhật ký và thời gian đơn giản hóa. Thành phần này cung cấp các phương thức đơn giản để kích hoạt hoặc vô hiệu hóa nó để bạn có thể để trình gỡ lỗi thay thế cho công việc sản xuất nếu bạn muốn.

DP_Debug


2

Các công cụ phát triển IE9 làm việc cho tôi. Chỉ cần đặt mục menu "Chế độ trình duyệt" thành IE7.


7
Điều này rất hữu ích, nhưng IE7 được mô phỏng không hoàn toàn giống nhau.
alex

Tôi đoán nó phụ thuộc. Nếu tôi có thể tái tạo một sự cố trong chế độ mô phỏng của IE9, thì tôi sẽ khắc phục nó ở đó. Mặt khác, Fireorms Lite là một giải pháp tốt - mặc dù bạn sẽ cần cài đặt IE7 ở đâu đó.
Peter Tseng

1

Này, tôi đã gặp một vấn đề tương tự và thấy đây là ứng dụng IETESTER . Thật tuyệt vời, đó là một ứng dụng có IE 5.5,6 và 7 gói đi kèm. Không quan trọng bạn đang có phiên bản IE nào. Điều này cho phép bạn có nhiều phiên bản cạnh nhau.

Nếu bạn bật gỡ lỗi javascript trong tùy chọn IE và đã cài đặt Visual Studio, bạn thậm chí có thể gỡ lỗi javascript trong VS với tất cả các tùy chọn gỡ lỗi có sẵn cho bạn (đồng hồ, điểm dừng có điều kiện, v.v.)

Nếu bạn muốn bắt đầu gỡ lỗi trước khi xảy ra lỗi, bạn chỉ cần đặt dòng

debugger;

vào mã JS của bạn và điều này đưa bạn vào VS để bắt đầu gỡ lỗi sau câu lệnh này.

Điều này hoàn toàn tuyệt vời đối với tôi để kiểm tra khả năng tương thích ngược cho mã JS.


0

Sử dụng Internet Explorer 8. Sau đó, hãy thử công cụ dành cho nhà phát triển .. Bạn cũng có thể gỡ lỗi dựa trên IE 7 ở chế độ tương thích


17
IE7! = Chế độ tương thích IE8. Có sự không tương thích.
21 giờ 32 phút

1
+1 Ít nhất IE8 cho bạn biết tên tệp của tập lệnh gây ra lỗi.
Đại tá Sponsz

@thorn, nhưng có chế độ IE7. (Có lẽ trước đây không có?) Vậy: thường xuyên, chế độ tương thích, chế độ IE7.
ANeves 15/03

1
@ANeves nó chỉ là tên gọi khác nhau cho cùng một điều
cái gai

4
@ANeves Hình như "chế độ IE7" chỉ là "chế độ tương thích" với tác nhân người dùng được đổi thành sử dụng bởi IE7. Nhưng tôi muốn nhấn mạnh một lần nữa rằng chế độ tương thích không tương thích. Ví dụ: đặt lại thuộc tính kiểu thông qua jQuery trông như thế này trong IE7 (và các trình duyệt khác) : $my.css('z-index', null). Trong IE8, mã này đưa ra một lỗi, ngay cả trong chế độ tương thích được gọi là. Vì vậy, tôi đã phải viết mã như thế này:$my.css('z-index', ie8 ? 'auto' : null)
gai


0

Đáp án đơn giản.

  1. Nhận Internet Explorer 9
  2. Nhấn F12 để tải lên Công cụ dành cho nhà phát triển
  3. Chuyển chế độ trình duyệt sang IE7

chuyển đổi chế độ trình duyệt trên IE9


6
Bởi vì nó không đáng tin cậy :( Tất cả các vé mở trong dự án hiện tại của tôi được kết nối với IE7 đều không thể sao chép trong Vista của Windows 7
AlfeG

4
Có thể hữu ích, nếu lỗi có thể lặp lại. Nhưng có một số lỗi, điều đó không xảy ra trong IE9 với chế độ IE7, nhưng trong IE7 gốc (tương tự với IE8)
yunzen

0

Chạy mã của bạn thông qua một công cụ phân tích tĩnh Javascript như JSLint có thể bắt gặp một số lỗi IE7 phổ biến, chẳng hạn như dấu phẩy trong định nghĩa đối tượng.


0

Công cụ dành cho nhà phát triển IE8 có thể chuyển sang chế độ IE7nhập mô tả hình ảnh ở đây


0

Nếu bạn vẫn cần gỡ lỗi IE 7, chế độ mô phỏng của IE 11 đang hoạt động khá tốt.

Chuyển đến menu: Dev Tools, sau đó đến phần mô phỏng và thiết lập nó. Nó cũng cung cấp thông tin dòng lỗi.


-1

Các công cụ sau đây hoạt động rất tốt cho tôi:

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

Cung cấp giao diện người dùng tiện lợi với các tính năng như kiểm tra nguồn, kiểu, DOM, Script, HTML. Nó cũng hiển thị lỗi thực tế trong tệp JS của bạn (dòng nào, tệp nào).

2) http://www.my-debugbar.com/wiki/CompmateJS/Installing

Cung cấp bảng điều khiển cho IE6 hoặc IE7 (ban đầu không hỗ trợ)

  • Ảnh chụp màn hình

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.