IE: Tại sao Chế độ xem tương thích biến mất đối với một số trang web?


25

IE9 hiển thị nút Chế độ tương thích cho một số trang web, nhưng không hiển thị cho các trang web khác. Đối với những người khác, tôi vẫn có thể kích hoạt nó bằng cách thêm nó thông qua Công cụ> Cài đặt Chế độ xem Tương thích, và sau đó nó hoạt động như mong đợi.

nhập mô tả hình ảnh ở đây

Tại sao nút này không hiển thị luôn? Có cách nào để ghi đè lên điều đó?

Câu trả lời:


26

Sự hiện diện của nút phụ thuộc vào loại thẻ meta này:

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

Chế độ tương thích tài liệu

Với các phiên bản gần đây của Internet Explorer, các chế độ này có thể kiểm soát các tính năng được hỗ trợ bởi các trang web và cách thức hiển thị các trang.

  • IE=EmulateIE8 Chế độ yêu cầu Internet Explorer sử dụng chỉ thị để xác định cách hiển thị nội dung. Các chỉ thị chế độ tiêu chuẩn được hiển thị trong chế độ tiêu chuẩn Internet Explorer 8 và các chỉ thị chế độ quirks được hiển thị trong chế độ IE5. Không giống như chế độ IE8, chế độ Thi đua IE8 tôn trọng chỉ thị.

  • IE=EmulateIE7yêu cầu Internet Explorer sử dụng chỉ thị để xác định cách hiển thị nội dung. Các chỉ thị chế độ tiêu chuẩn được hiển thị trong chế độ tiêu chuẩn Internet Explorer 7 và các chỉ thị chế độ quirks được hiển thị trong chế độ IE5. Không giống như chế độ IE7, chế độ Thi đua IE7 tôn trọng chỉ thị. Đối với nhiều trang web, đây là chế độ tương thích ưa thích:

  • IE=5 hiển thị nội dung như thể nó được hiển thị bởi chế độ quirks của Internet Explorer 7, rất giống với cách hiển thị nội dung trong Internet Explorer 5.

  • IE=7 hiển thị nội dung như thể nó được hiển thị bởi chế độ tiêu chuẩn của Internet Explorer 7, cho dù trang đó có chứa lệnh hay không.

  • IE=8 hỗ trợ nhiều tiêu chuẩn đã được thiết lập, bao gồm Đặc tả kỹ thuật cấp độ bảng xếp hạng 2.1 của W3C và API bộ chọn W3C; nó cũng cung cấp hỗ trợ hạn chế cho Đặc tả kỹ thuật cấp độ 3 của W3C Cascading Style Sheets (Bản nháp làm việc) và các tiêu chuẩn mới nổi khác.

  • IE=9 cung cấp hỗ trợ cao nhất có sẵn cho các tiêu chuẩn công nghiệp đã được thiết lập và mới nổi, bao gồm HTML5 (Bản nháp làm việc), Đặc tả kỹ thuật cấp độ 3 của W3C Cascading Style Sheets (Bản nháp làm việc), Đặc tả đồ họa vectơ có thể mở rộng (SVG) 1.0 và các thông số khác.

  • IE=Edge yêu cầu Internet Explorer hiển thị nội dung ở chế độ cao nhất hiện có. Với Internet Explorer 8, điều này tương đương với chế độ IE8.

Nếu bản phát hành trong tương lai (giả thuyết) của Internet Explorer hỗ trợ chế độ tương thích cao hơn, thì các trang được đặt thành chế độ cạnh sẽ xuất hiện ở chế độ cao nhất được phiên bản đó hỗ trợ. Những trang tương tự sẽ xuất hiện trong chế độ IE8 khi được xem bằng Internet Explorer 8; và ở chế độ IE9 khi được xem bằng Internet Explorer 9.

Tóm lược

IE sẽ không hiển thị nút Chế độ xem tương thích nếu:

  • nội dung của thẻ meta bằng với phiên bản IE bạn đang sử dụng; hoặc là
  • nội dung của thẻ meta được đặt thành IE=edge.

Tài liệu tham khảo

Xác định tính tương thích tài liệu (Internet Explorer)


2
Tuy nhiên, người ta có thể mong đợi các trang web sẽ hoạt động tốt, giả sử rằng người tạo trang web đã cho thẻ một số suy nghĩ ...
Arjan

8

Ngoài <meta>thẻ như được giải thích trong câu trả lời của Brian :

Nếu điều này xảy ra với các trang web cục bộ (mạng nội bộ): có vẻ như các tùy chọn mặc định luôn làm cho các trang web mạng nội bộ chạy ở chế độ tương thích và thậm chí tệ hơn, sau đó không hiển thị nút nào cả.

Việc vô hiệu hóa cài đặt "Hiển thị trang web mạng nội bộ trong Chế độ xem tương thích" cũng khiến nút này xuất hiện cho các trang web cục bộ, do đó bạn có thể tắt nó đi. Lưu ý rằng Cài đặt Chế độ xem tương thích chỉ được liệt kê trong menu "đầy đủ" (nhấn Alt-T), không có trong biểu tượng bánh răng tốc ký:

văn bản thay thế văn bản thay thế văn bản thay thế

Ngoài ra, làm cho IE không nhận ra các trang web mạng nội bộ nữa.


2
Đó là bởi vì nhiều công ty trang web mạng nội bộ và các ứng dụng web nội bộ đã được chương trình hoạt động trên IE6. Microsoft biết rằng phần lớn người dùng IE6 là nhân viên buộc phải sử dụng IE6. Làm cho tất cả các trang web chạy trong chế độ tương thích theo mặc định đã giúp chuyển đổi mượt mà hơn nhưng không mượt mà hơn sang phiên bản cập nhật của IE. Nếu nhiều công ty giống như [chỉnh sửa] thì đây sẽ là trường hợp. Bạn phải nhớ thay đổi chi phí tiền bạc. Các công ty chỉ quan tâm đến tiền. Chỉnh sửa tên công ty để bảo vệ họ . Công ty này thậm chí không chuyển sang phiên bản cập nhật cho đến khi vụ hack Google / Trung Quốc xảy ra.
SgtOJ

@Brian, tôi đoán bạn đúng. Mặc dù quá tệ: một giải pháp tốt hơn nhiều sẽ được kích hoạt theo mặc định. Tùy chọn IE ngu ngốc này không chỉ kích hoạt chế độ tương thích mà còn ẩn hoàn toàn nút tương thích.
Arjan

Ồ Không bao giờ biết về điều đó. Đã làm tôi phát điên cả ngày cho đến khi tôi chạy vào bài viết của bạn. Cảm ơn!
Hệ thống xuống

Điều gì xảy ra nếu bạn không muốn chế độ tương thích, nhưng "Hiển thị trang web mạng nội bộ trong Chế độ xem tương thích" được chọn? Điều này có ghi đè lên <meta http-equiv="X-UA-Compatible" content="IE=edge">thẻ không? Hoặc thẻ meta ghi đè hộp kiểm cài đặt tương thích?
Ben

@Ben, đã được một thời gian kể từ khi tôi phải sử dụng IE, nhưng tôi nghĩ rằng việc bật "Hiển thị trang web mạng nội bộ trong Chế độ xem tương thích" thực sự sẽ ghi đè <meta http-equiv="X-UA-Compatible" content="IE=edge">. Tôi không chắc chắn 100%, nhưng tôi nhớ là đã rất khó chịu vì không hiểu tại sao các trang hiển thị xấu, vì vậy tôi chỉ có thể giả sử rằng các trang đó đã bao gồm thẻ sau đó. Nhưng sau đó, có lẽ tôi đã không biết về thẻ đó vào những ngày đó ...
Arjan

1

Theo bài viết MSDN toàn diện này về Chế độ xem tương thích , danh sách sau đây mô tả các cách khác nhau cho phép Chế độ xem tương thích:

  • Bạn nhấp vào nút Chế độ xem tương thích trong thanh Địa chỉ khi xem trang web. Khi được hiển thị, nút này xuất hiện ở bên trái nút Làm mới và chứa hình ảnh của một mảnh giấy bị hỏng. Điều này cho phép Chế độ xem tương thích cho tất cả các tài liệu trong miền của trang web đang được xem.
  • "Hiển thị tất cả các trang web trong cài đặt Chế độ tương thích" trong Cài đặt Chế độ xem tương thích được bật.
  • Cài đặt "Tự động khôi phục từ lỗi bố cục trang với Chế độ xem tương thích" được bật và trang web dừng phản hồi hoặc làm hỏng trình duyệt. Khi điều này xảy ra, Internet Explorer sẽ mở trang trong Chế độ xem tương thích sau khi khắc phục sự cố.
  • Chính sách nhóm xác định các trang web sẽ được mở trong Chế độ xem tương thích được bật bởi quản trị viên máy tính của bạn.
  • Bạn đã sử dụng các công cụ dành cho nhà phát triển F12 để thay đổi chế độ trình duyệt để xác định Internet Explorer là phiên bản cũ hơn của trình duyệt.
  • Danh sách Chế độ xem tương thích được bật, xác định danh sách các trang web được tự động hiển thị trong Chế độ xem tương thích.

Để tắt / ghi đè Chế độ xem tương thích, bạn sẽ phải thực hiện ngược lại các hành động được đề xuất ở trên.

Danh sách Chế độ xem tương thích là một tệp XML được duy trì bởi Microsoft.

Để xóa trang web của bạn khỏi Danh sách Chế độ xem Tương thích (hoặc tranh chấp việc xóa trang web của bạn khỏi danh sách), hãy yêu cầu chủ sở hữu trang web tổng thể xác minh rằng trang web tên miền xuất hiện trong Danh sách Chế độ xem Tương thích. Nếu vậy, hãy gửi e-mail đến iepo@microsoft.com có ​​chứa thông tin sau:

Tên chủ sở hữu Tên công ty Tên công ty Địa chỉ email Địa chỉ email Số điện thoại Địa chỉ trang web

Microsoft sẽ xem xét thông tin được cung cấp và xóa trang web của bạn khỏi Danh sách Chế độ xem Tương thích tại bản cập nhật được lên lịch tiếp theo.


0

Tôi đã dành một chút thời gian để cố gắng xác định lý do tại sao biểu tượng chế độ xem tương thích không khả dụng trên một trong các miền của công ty tôi, khi nó dường như không đáp ứng bất kỳ điều kiện nào được mô tả trong các câu trả lời khác cho câu hỏi này.

Giải thích là "Tương thích X-UA" không phải là thẻ meta. Nó cũng có thể được chỉ định làm tiêu đề HTTP (không phải là một phần của nội dung HTML) và đó là trường hợp trên miền mà tôi gặp sự cố.

Trang MS này có nhiều chi tiết hơn, nhiều trong số đó xuất hiện trong câu trả lời của SgtOJ: http://msdn.microsoft.com/en-us/l Library / jj676915 (v = vs85) .aspx

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.