Nội dung của X-UA-Tương thích trực tuyến IE = 8; IE = 7; IE = EDGE


233
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. Trên thực tế ý nghĩa của tuyên bố này là gì?

  2. Một số ví dụ sử dụng ,để tách các phiên bản IE, trong khi một số sử dụng ;; cái nào đúng

  3. Thứ tự IE=9; IE=8; IE=7; IE=EDGEcó một số quan trọng, tôi muốn biết rằng.

Chỉnh sửa : Tôi đang sử dụng<!DOCTYPE html>


tôi nghĩ IE = 9 không phù hợp vớiX-UA-Compatible
KR


Câu trả lời:


328

Nếu bạn hỗ trợ IE, đối với các phiên bản Internet Explorer 8 trở lên, thì:

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

Buộc trình duyệt hiển thị theo tiêu chuẩn của phiên bản cụ thể đó. Nó không được hỗ trợ cho IE7 trở xuống.

Nếu bạn tách bằng dấu chấm phẩy, nó sẽ đặt các mức tương thích cho các phiên bản khác nhau. Ví dụ:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

Hiển thị IE7 và IE8 là IE7, nhưng IE9 là IE9. Nó cho phép các mức độ tương thích ngược khác nhau. Tuy nhiên, trong cuộc sống thực, bạn chỉ nên chọn một trong các tùy chọn:

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

Điều này cho phép kiểm tra và bảo trì dễ dàng hơn nhiều. Mặc dù nhìn chung phiên bản hữu ích hơn của điều này là sử dụng Thi đua:

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

Đối với điều này:

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

Nó buộc trình duyệt kết xuất theo bất kỳ tiêu chuẩn nào của phiên bản gần đây nhất.

Để biết thêm thông tin, có rất nhiều điều để đọc về MSDN ,


9
thứ tự IE = 9; IE = 8; IE = 7; IE = EDGE có một số tầm quan trọng, tôi muốn biết điều đó
Kuttan Sujith

Tôi có một chút lỗ hổng trong sự hiểu biết của tôi về điều này. Nếu mục tiêu thử nghiệm của tôi là IE8, nhưng tôi không muốn phá vỡ IE7, bạn sẽ đặt thẻ meta này thành gì? Và có trình duyệt nào khác sử dụng cái này không?
Snekse

2
IE7 sẽ không nhận ra điều này, nó đã được triển khai đầu tiên trong IE8. Toàn bộ tài liệu tham khảo về IE7 ở trên là, ví dụ, nếu bạn đang sử dụng IE7 làm cơ sở để thử nghiệm và muốn tất cả các phiên bản IE hiện đại hơn sẽ hiển thị như trong các tiêu chuẩn IE7. không có trình duyệt khác sử dụng thẻ này.
PlantTheIdea

1
IE10 kết xuất tốt các ứng dụng web cũ với IE = 8 (YMMV), tuy nhiên mô phỏng IE11 của IE8 bị phá vỡ. UA này: content="IE=8; IE=11"cung cấp cho chế độ trình duyệt IE10 Compat Document mode các tiêu chuẩn IE8 trong IE10 và cạnh chế độ Tài liệu trong IE11. Một trong những vấn đề với bài tập IEA và IE11 UA là Microsoft đã xóa các nhận xét có điều kiện .
Đánh bại

Dựa trên thẻ meta đó, IE11 sẽ không mô phỏng IE8, nó sẽ giả sử IE11 (như được đưa ra trong danh sách được phân tách bằng dấu chấm phẩy). Danh sách đó cũng sẽ giải thích dự phòng cho các tiêu chuẩn IE8 vì IE10 không biết về sự tồn tại của IE11, giống như IE8 không thể áp dụng các tiêu chuẩn IE9. Bạn đã thử đơn giản bằng cách sử dụng content="IE=8"? Hoặc, tốt hơn là , content="IE=EmulateIE8"?
PlantTheIdea

4

Trong một số trường hợp nhất định, có thể cần phải hạn chế hiển thị trang web ở chế độ tài liệu được hỗ trợ bởi phiên bản Internet Explorer trước đó. Bạn có thể làm điều này bằng cách phục vụ trang với tiêu đề tương thích x-ua. Để biết thêm thông tin, xem Chỉ định chế độ tài liệu kế thừa.
- https://msdn.microsoft.com/l Library / cc288325

Do đó, thẻ này được sử dụng để chứng minh trang web trong tương lai , sao cho công cụ cũ hơn / tương thích được sử dụng để hiển thị trang web giống như dự định của người tạo.

Đảm bảo rằng bạn đã kiểm tra nó để hoạt động đúng với phiên bản IE bạn chỉ định.

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.