Tôi có một trang web đột nhiên bắt đầu gặp sự cố Internet Explorer.Trang web của tôi tiếp tục gặp sự cố IE, không thể gỡ lỗi
Trang web tải và bắt đầu thực hiện javascript nhưng một nơi nào đó trong đó máy móc phát nổ. Tôi thậm chí không nhận được một lỗi kịch bản, nó chỉ bị treo. Tôi đã cố gắng tự bước qua tất cả các dòng của js với xây dựng trong trình gỡ lỗi nhưng sau đó tất nhiên vấn đề không xảy ra.
Nếu tôi chọn gỡ lỗi ứng dụng khi gặp lỗi, tôi thấy thông báo sau.
Ngoại lệ chưa xử lý tại 0x6c5dedf5 trong iexplore.exe: 0xC0000005: Truy cập vị trí đọc vi phạm 0x00000090.
5 mặt hàng hàng đầu trong các cuộc gọi stack trông giống như
Vgx.dll này! 6c5dedf5()
[Khung dưới đây có thể không chính xác và/hoặc mất tích, không có biểu tượng nạp cho Vgx.dll]
Vgx.dll! 6c594d70()
Vgx.dll! 6c594f63()
Vgx.dll! 6c595350()
Vgx.dll! 6c58f5e3()
mshtml.dll! 6f88dd17()
VGX.dll dường như là một phần của trình kết xuất đồ họa và tôi đang sử dụng VML. Tôi không ngạc nhiên bởi vì tôi đã có rất nhiều vấn đề với vml, các thuộc tính phải được đặt theo thứ tự cụ thể, đôi khi bạn không thể thiết lập các thuộc tính khi bạn có các phần tử gắn với dom hoặc ngược lại (mọi thứ không có giấy tờ btw) nhưng sau đó là các vấn đề thường có thể được sao chép khi gỡ lỗi nhưng không phải bây giờ :(
vấn đề này cũng xảy ra trong không Plugin-mode
có một cách tiếp cận tốt hơn so với thử và sai để giải quyết này
Edit:.? Thêm một giao diện điều khiển xuất ra mọi sửa đổi nghi ngờ đối với DOM khiến vấn đề chỉ xảy ra đôi khi. thực hiện trong javascript trên cùng một trang, tôi có thể thấy đầu ra ngay cả sau khi một vụ tai nạn như cửa sổ vẫn còn nhìn thấy được) Rõ ràng nó có vẻ là một số loại điều kiện chủng tộc.
Tôi đã quản lý để theo dõi nó sâu hơn nữa và dường như nó xảy ra khi bạn xóa một đối tượng khỏi DOM quá nhanh sau khi nó vừa được thêm vào. (rất có thể chỉ dành cho các phần tử vml với một số thuộc tính đặc biệt, không thử thêm) Và nó không thể được sửa bằng cách thêm một vòng lặp chết trước removeChild (giải pháp khá tệ), trang phải được hiển thị bởi trình duyệt một lần sau addChild trước khi bạn có thể gọi removeChild. thở dài
Chỉ cần đùa - nhưng, bạn có thể tạo một khai thác (khác) cho IE từ điều này. Tôi có nghĩa là bạn kết thúc đọc từ một số vị trí bộ nhớ tắt. Có lẽ bạn có thể làm điều này để làm điều gì đó thực sự tồi tệ. Ngoài ra, một cửa sổ được cập nhật đầy đủ và cập nhật/IE sẽ không bị lỗi từ bất kỳ trang web nào, cho dù mã của bạn có sai sót không. Có lẽ có một số nơi để báo cáo điều này? – zerm
Vui lòng gửi cho tôi một trang hoặc URL repro; Tôi rất vui khi có một cái nhìn! (ericlaw @ microsoft). Cảm ơn! – EricLaw
FYI, lần sau hãy đặt máy chủ biểu tượng của bạn thành Máy chủ biểu tượng của Microsoft để có ngăn xếp cuộc gọi tốt hơn: http://msdn.microsoft.com/en-us/library/b8ttk8zy%28v=vs.80%29.aspx –