Tôi đang cố gỡ lỗi một ứng dụng Intranet IE rất phức tạp. Tôi nhận được cảnh báo với thông báo tùy chỉnh cho biết rằng một ngoại lệ đã xảy ra. Tôi muốn tìm hiểu thêm thông tin về ngoại lệ này vì thông điệp không hữu ích lắm.Cách phát hiện cảnh báo JavaScript đến từ đâu?
Có trang chính chứa rất nhiều iFrames (và tệp .htc nếu điều đó tạo nên sự khác biệt) vì vậy tôi không nghĩ rằng tôi có thể thử và hijack window.alert. Khu nghỉ mát cuối cùng của tôi sẽ được thử vận may của tôi với một tìm kiếm tập tin.
Sử dụng IE 8, có anyway tôi có thể phát hiện cảnh báo này đến từ đâu không? Giải pháp lý tưởng sẽ bằng cách nào đó tạo ra một hàm "breakOnAlert" để chèn một câu lệnh debbuger vào đúng vị trí cảnh báo.
Để làm rõ: Trang chính chứa nhiều khung nội tuyến và tôi tin rằng lỗi + cảnh báo đến từ một trong các tùy chọn này. Mỗi khung nội tuyến là một trang aspx (đôi khi với html/javascript động từ người dùng) và chứa JavaScript nội tuyến và bên ngoài. Trước khi đăng, tôi đã cố gắng ghi đè cảnh báo trong trang của tôi (trang con trong iframe) nhưng nó không hoạt động.
Tôi giả định rằng
Nó không hoạt động vì mỗi khung nội tuyến có đối tượng cửa sổ riêng của chúng, vì vậy mỗi khung nội tuyến có phiên bản cảnh báo riêng của mình. Để làm việc này, tôi sẽ cần phải tìm tất cả các iframe và ghi đè lên nó cho mỗi cái, cái gì đó mà tôi nghĩ sẽ rất phức tạp để làm. Trong các công cụ phát triển IE, tôi có thể thấy một số lượng lớn các tệp kịch bản (nội tuyến và bên ngoài), vì vậy sẽ rất khó để tìm kiếm các cảnh báo trong đó theo cách thủ công.
tắt chủ đề, nhưng xin vui lòng gửi mã để thedailywtf.com –