Giải pháp 1: Hộp đen khung
Hoạt động tuyệt vời, thiết lập tối thiểu và không có bên thứ ba.
Theo tài liệu của Chrome :
Điều gì xảy ra khi bạn hộp đen một kịch bản?
Các ngoại lệ được ném từ mã thư viện sẽ không tạm dừng (nếu Tạm dừng các ngoại lệ được bật), Bước vào / ra / bỏ qua mã thư viện, các điểm dừng của trình nghe sự kiện không ngắt trong mã thư viện, Trình gỡ lỗi sẽ không tạm dừng trên bất kỳ điểm dừng nào được đặt trong thư viện mã. Kết quả cuối cùng là bạn đang gỡ lỗi mã ứng dụng của mình thay vì tài nguyên của bên thứ ba.
Đây là quy trình cập nhật:
- Mở công cụ dành cho nhà phát triển Chrome ( F12hoặc ⌘+ ⌥+ i), đi đến cài đặt (phía trên bên phải hoặc F1). Tìm một tab bên trái gọi là " Blackboxing "
- Đây là nơi bạn đặt mẫu RegEx của các tệp bạn muốn Chrome bỏ qua trong khi gỡ lỗi. Ví dụ:
jquery\..*\.js
(mẫu toàn cầu / bản dịch của con ngườijquery.*.js
:)
- Nếu bạn muốn bỏ qua các tệp có nhiều mẫu, bạn có thể thêm chúng bằng ký tự ống
|
, như vậy: jquery\..*\.js|include\.postload\.js
(hoạt động như một "hoặc mẫu này", có thể nói. Hoặc tiếp tục thêm chúng bằng nút "Thêm".
- Bây giờ tiếp tục Giải pháp 3 được mô tả dưới đây.
Tiền thưởng tip! Tôi sử dụng Regex101 thường xuyên (nhưng có nhiều thứ khác :) để nhanh chóng kiểm tra các mẫu regex rỉ sét của tôi và tìm ra lỗi của tôi với trình gỡ lỗi regex từng bước. Nếu bạn chưa "thông thạo" trong Biểu thức chính quy, tôi khuyên bạn nên bắt đầu sử dụng các trang web giúp bạn viết và hình dung chúng như http://buildregex.com/ và https://www.debuggex.com/
Bạn cũng có thể sử dụng menu ngữ cảnh khi làm việc trong bảng Nguồn. Khi xem tệp, bạn có thể nhấp chuột phải vào trình chỉnh sửa và chọn Blackbox Script. Điều này sẽ thêm tệp vào danh sách trong bảng Cài đặt:
Giải pháp 2: Sự kiện trực quan
Đây là một công cụ tuyệt vời để có :
Visual Event là một bookmarklet Javascript mã nguồn mở cung cấp thông tin gỡ lỗi về các sự kiện đã được gắn vào các phần tử DOM. Sự kiện trực quan cho thấy:
- Những yếu tố có sự kiện gắn liền với chúng
- Loại sự kiện gắn liền với một yếu tố
- Mã sẽ được chạy với sự kiện được kích hoạt
- Tệp nguồn và số dòng cho chức năng đính kèm được xác định (chỉ trình duyệt Webkit và Opera)
Giải pháp 3: Gỡ lỗi
Bạn có thể tạm dừng mã khi bạn nhấp vào một nơi nào đó trong trang hoặc khi DOM được sửa đổi ... và các loại điểm dừng JS khác sẽ hữu ích để biết. Bạn nên áp dụng hộp đen ở đây để tránh cơn ác mộng.
Trong trường hợp này, tôi muốn biết chính xác những gì diễn ra khi tôi nhấp vào nút.
Mở Dev Tools -> tab Nguồn và ở bên phải tìm Event
Listener Breakpoints
:
Mở rộng Mouse
và chọnclick
- Bây giờ hãy nhấp vào phần tử (thực thi sẽ tạm dừng) và bây giờ bạn đang gỡ lỗi mã. Bạn có thể đi qua tất cả các cách nhấn mã F11(đó là Bước vào ). Hoặc quay trở lại một vài bước nhảy trong ngăn xếp. Có thể có một tấn nhảy
Giải pháp 4: Từ khóa câu cá
Khi Dev Tools được kích hoạt, bạn có thể tìm kiếm toàn bộ cơ sở mã (tất cả mã trong tất cả các tệp) bằng ⌘+ ⌥+ Fhoặc:
và tìm kiếm #envio
hoặc bất cứ thứ gì thẻ / lớp / id bạn nghĩ bắt đầu bữa tiệc và bạn có thể đến một nơi nào đó nhanh hơn dự đoán.
Hãy lưu ý đôi khi không chỉ có một img
mà rất nhiều phần tử được xếp chồng lên nhau và bạn có thể không biết cái nào kích hoạt mã.
Nếu đây là một chút kiến thức của bạn, hãy xem hướng dẫn về cách gỡ lỗi của Chrome .
Visual Event
bookmarklet. Nó phát hiện các sự kiện nhấp được ràng buộc bởi các thư viện phổ biến và tạo một lớp phủ của trang web hiển thị nơi các sự kiện bị ràng buộc và đưa ra các mẫu mã và vị trí nguồn cho mỗi sự kiện.