2012-02-29 8 views
7

Tôi tự hỏi liệu có ai có thể cho tôi một số thông tin chi tiết về vấn đề IE9 thực sự kỳ lạ mà tôi đang gặp phải không. nó hoạt động tốt trong ff/chrome/ie7/ie8 mà không có lỗi script.Vấn đề màn hình trắng trong IE9 - Loại bỏ khung nội tuyến

Trên IE9, bước cuối cùng của ứng dụng sẽ làm cho toàn bộ tab thành màn hình trắng mà không có lỗi hoặc cảnh báo (thay đổi chế độ tài liệu thành ie8) vấn đề nhưng rõ ràng là không phù hợp để sản xuất)

Thật không may trang web khá phức tạp với một tấn ajax và tập lệnh trong trang Vì vậy, tôi không thể thực sự đăng các mã có liên quan một cách dễ dàng. Tôi đang cố gắng tìm ra cách để chẩn đoán điều này.

Tôi đã kiểm tra nhật ký lỗi IE và chúng trống. Các công cụ phát triển web cho tôi biết không có gì. Trang web không sử dụng bất kỳ plugin nào (Flash/Silverlight, Ect.) Chỉ cần javascript w/jQuery.

Có một tệp PDF được hiển thị trong khung nội tuyến xung quanh bước không thành công - nhưng một bản pdf gần như giống hệt được hiển thị ở bước trước đó (sử dụng cùng một phương pháp) mà không có vấn đề gì. Mã không xung quanh một cuộc gọi đến cửa sổ giao diện người dùng jquery nhưng tôi dường như không thể có được dòng chính xác.

Nếu có ai có manh mối làm thế nào để cố gắng chẩn đoán điều này hơn nữa, tôi thực sự đánh giá cao nó. Tôi có thể tiếp tục săn lùng lỗi nhưng tôi chưa bao giờ thấy loại hành vi này trước đây và chỉ không chắc chắn những gì tôi đang tìm kiếm.

+0

Các bạn đã thử để kiểm tra xem trình duyệt làm cho trang trong Quirks chế độ? Nó có thể liên quan đến cách mô hình hộp được xử lý bởi trình duyệt ... – mamoo

+1

@mamoo Nếu chế độ quirks là vấn đề IE8 sẽ có cùng một vấn đề ... hoặc ít nhất, nên. – Snuffleupagus

+0

Đúng, tôi vừa mới kiểm tra: bạn nên ... bạn nói đúng. http://en.wikipedia.org/wiki/Quirks_mode – mamoo

Trả lời

9

Cảm ơn tất cả các đầu vào về điều này. Rất tiếc, tôi đã hoàn toàn bị choáng ngợp bởi một vài dự án cùng một lúc nên tôi không thể đăng cập nhật về các bước gỡ lỗi.

Phải mất mãi mãi nhưng cuối cùng tôi đã nhận ra rằng mọi thứ đều gặp sự cố khi tôi đóng hộp thoại chứa tệp PDF đầu tiên.

Một trong các chức năng trợ giúp của tôi là mở hộp thoại và tự động hủy nội dung khi đóng. Thông thường, điều này hoạt động tốt khi tôi xóa một div chứa đoạn trang hoặc iframe.

Trong trường hợp này, tôi đã có một đoạn trang được tải vào hộp thoại chứa một số nút và khung nội tuyến pdf. Tôi gọi phương thức .remove() trên phần tử cha có chứa iframe thay vì chính iframe. Đối với một số lý do này dường như làm việc tốt trong mọi trình duyệt khác - nhưng trong IE9 nó khá nhiều giết chết trang vẽ mà không có bất kỳ cảnh báo hoặc tin nhắn.

Tôi thật sự nghi ngờ thủ phạm là plugin adobe nhưng tôi không hoàn toàn chắc chắn.

Đây là fix-
Html:

<div id="container"> 
<iframe src="loremipsum.pdf"></iframe> 
</div> 

Javascript:

//Ruins my entire week 
$("#container").remove(); 

//Works as the pdf is removed directly 
$("#container").find("iframe").remove().end().remove(); 
+3

Ít người biết đến, nhưng tôi gặp vấn đề tương tự và bản sửa lỗi của bạn đã hoạt động. Cảm ơn! –

+1

Tôi đã tìm kiếm sự khám phá hàng giờ trước khi tìm câu trả lời này. Một vấn đề rất bực bội, và thậm chí việc tìm kiếm khu vực trong việc gỡ lỗi nó vẫn để lại câu hỏi là tại sao. Câu hỏi này rất khó tìm, nhưng tôi vui vì tôi đã làm –

+1

Mũ tắt cho bạn Kelly! Chúng tôi đã gặp vấn đề này khi sử dụng góc cạnh - chúng tôi đã tạo các tab tài liệu là 'ng-repeat' cho mảng' tab'. Đóng một tab đã được thực hiện với 'splice' trên các tab, và điều này làm cho trang trắng trở thành vấn đề của bạn. Sử dụng phương thức của bạn, chúng tôi đã thêm jQuery và trước tiên đã xóa 'iframe' thích hợp và sau đó áp dụng' splice' -> màn hình vẫn hiển thị màu trắng, nhưng nó trở lại bình thường sau 2 giây. Sheeeesh ... những gì một lỗi ... chúng tôi rất hạnh phúc, chúng tôi tìm thấy câu trả lời của bạn! – veljkoz

0

Như một điều cần thử - xem nội dung trong trình xem DOM của IE9 sau màn hình trắng. Có một cơ hội tốt mà hầu hết các công cụ là có và chỉ không hiển thị đúng (hoặc có cái gì khác rendered trên nó). Ít nhất, biết liệu nó mất một tấn công cụ trong DOM hay không sẽ cung cấp cho bạn một số dữ liệu hữu ích.

+0

Thật không may theo trình xem DOM không có gì ở đó - đã hy vọng chúng tôi chỉ có một div trên nó hoặc một cái gì đó nhưng nó chỉ là không có gì. –

+0

Đó thực sự là dữ liệu hữu ích. Nó có nghĩa là bất cứ điều gì nó là một lỗ hổng logic gây ra DOM của bạn để implode, chứ không phải là một lỗi rendering của một số loại. –

+1

Cảm ơn thông tin - có vẻ như plugin adobe bị lỗi vì tôi đã xóa phần tử giữ khung nội tuyến khỏi DOM (chứ không phải chính iframe) –

1

Tôi chạy vào cùng một vấn đề trên IE11 trong khi cố gắng để loại bỏ một khung nội tuyến trong một div với AngularJS .Việc loại bỏ khung nội tuyến đầu tiên sẽ chỉ gây ra cùng một vấn đề, vì vậy tôi đã điều hướng iframe src đến một trang mới (about: blank) trước, sau đó loại bỏ div đã hoạt động. Hy vọng rằng điều này sẽ giúp ai đó với một vấn đề tương tự.

Pseudo-code dưới đây:

$ctrl.iframeUrl = 'about:blank'; // change the iframe url here 
$timeout(function(){ 
    $ctrl.removeIframe(); // remove the iframe here 
});