19

Tôi có một trang có khung nội tuyến và iframe chứa mã cần chạy ở chế độ quirks (đó là Outlook Web Access của Microsoft, vì vậy nó không phải là mã của chúng tôi mà chúng tôi có thể khắc phục). IE9 đã giới thiệu một "tính năng" khi khung chính ở chế độ tài liệu IE9, nó cũng buộc bất kỳ iframe nào vào cùng một chế độ tài liệu. Điều này vi phạm mã chúng tôi có một khung nội tuyến.Buộc IE9 vào chế độ Quirks?

Tôi đã hy vọng đây là một lỗi trong IE9, nhưng vé của tôi đã bị từ chối vì "bởi thiết kế" (here is the ticket nếu bạn quan tâm để xem)

tôi không thể chạy toàn bộ trang web trong chế độ quirks, nhưng Tôi cần nó chỉ xảy ra trên trang này. Có cách nào để bật chế độ hiển thị chế độ quirks theo chương trình không? Hoặc là, hoặc một cách để mô phỏng cách nhấn nút "tương thích xem" - nhấn này khá nhiều biến IE9 thành IE8, mà chỉ hoạt động tốt là tốt.

Có thể thực hiện một trong những việc này không?

Trả lời

10

Tôi đã gặp vấn đề tương tự và nghiên cứu nó khá rộng rãi vào tháng 4 năm 2011. Do đó, cách duy nhất để có tài liệu cấp cao nhất trong "chế độ tiêu chuẩn" và tài liệu trong khung nội tuyến trẻ em "chế độ quirks" trong IE9 là sử dụng thẻ meta để trình duyệt hoạt động như thể IE8. (Theo như tôi biết, đây vẫn là trường hợp và Microsoft không có ý định thay đổi nó.) Có nhiều thẻ meta bạn có thể sử dụng để thay đổi chế độ trình duyệt, nhưng tôi đã sử dụng thẻ meta đó:

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

Nếu bạn bao gồm thẻ meta này, tất cả tài liệu phải được hiển thị chính xác (theo quy tắc IE8) theo loại tài liệu của chúng.

Lưu ý, tuy nhiên, điều này ngăn cản bạn sử dụng bất kỳ tính năng css mới được hỗ trợ nào trong IE9, ngay cả trong tài liệu cấp cao nhất. Bạn sẽ không thể sử dụng bán kính đường viền, hộp bóng, độ mờ đục, v.v.

Có một số thông tin khác về điều này tại Will an iframe render in quirks mode?, yêu cầu một câu hỏi chung chung hơn về iframe và doctypes.

+1

Vâng, đây là giải pháp mà chúng tôi đã sử dụng. Đó là một chút crappy, nhưng nó hoạt động. –

+0

Khôi phục một chuỗi rất cũ, nhưng thẻ meta này nằm trong phần đầu của tài liệu cấp cao nhất, phải không? Tôi có một tình huống tương tự mà tôi không kiểm soát được những gì được hiển thị bên trong iFrame quirk-y nhưng toàn quyền kiểm soát trên tài liệu cấp cao nhất. Cảm ơn! – Rishi

-2

Bạn sẽ có thể có khác nhau chế độ compat giữa IFrame và dẫn chương trình - xem: http://blogs.msdn.com/b/cjacks/archive/2010/12/01/does-a-standards-web-page-inside-of-an-iframe-in-a-quirks-web-page-render-in-standards-or-quirks.aspx

Bạn có thể chỉ định các chế độ compat bạn muốn explicity, thậm chí nhiều hơn bạn có thể với các nút, sử dụng X- Thẻ tương thích với UA: http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx

HTH.

+2

Đó là vấn đề. Tôi * nên * có thể, nhưng họ đã thay đổi điều này trong IE9. Bây giờ nó buộc chế độ compat của trang cha thành bất kỳ iframe con nào. –

Các vấn đề liên quan