2012-07-17 27 views
8

tôi biết làm thế nào để buộc IE vào xem một trang trong tài liệu tương thích, nhưng những gì về trình duyệt tương thích xem?Force IE9 vào trình duyệt tương thích xem

Tôi có một dự án chỉ hoạt động khi IE9 đang ở chế độ xem tương thích vì nhiều lý do khác nhau, nhưng tôi không thể tìm thấy bất kỳ tài nguyên nào về cách buộc IE9 làm như vậy.

Mọi người chỉ nói về việc buộc phải tương thích tài liệu, ví dụ: sử dụng

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

Nhưng điều đó không làm việc trong trường hợp của tôi, bởi vì nó chỉ đặt quan điểm tài liệu. Có cách nào để đặt chế độ xem trình duyệt không?

PS: Để làm cho nó rất rõ ràng, đây là các thiết lập tôi cần phải thực thi:

Browser Compatibility http://img513.imageshack.us/img513/8589/browsercomp.png

Trả lời

8

Xem MSDN documentation.
Bạn nên sử dụng emulateIE7 kể từ khi chế độ tương thích là loại IE7:

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

Sửa

Nếu ở trên không hoạt động, các other optionsthực sự nghèo.
Trích dẫn từ liên kết ở trên:

  • Microsoft chưa đặt tên miền của trang web vào danh sách đen. (danh sách đen được liên kết trong bài viết gốc rất cũ và không được cập nhật, bạn có thể tìm thấy bản sao cục bộ trên máy tính của mình)
  • Quản trị viên mạng nội bộ chưa đặt trang web vào danh sách đen.
  • Người dùng chưa nhấn nút Compatibility View (duh)
  • Trang web này không phải là trong vùng intranet
  • Các trang không được đóng khung bởi một trang Compatibility Mode.

Ở trên là, AFAIK, nguyên nhân duy nhất cho chế độ tương thích. Trừ khi bạn sẵn sàng liên hệ trực tiếp với Microsoft để trang web của bạn được thêm vào danh sách đen toàn cầu, bạn không thể làm gì nhiều (trừ khi bạn muốn bọc trang web của mình trong một khung bắt nguồn từ một tên miền bị liệt vào danh sách đen).

+0

Tôi đã thử tất cả các chế độ tương thích tài liệu, nhưng điều đó không ảnh hưởng đến các vấn đề mà trang có. Nó thực sự chỉ hoạt động khi chế độ trình duyệt được thiết lập rõ ràng thành chế độ xem tương thích. –

+0

@ FlorianPeschka Tôi đã thêm tất cả các yếu tố đã biết kích hoạt chế độ tương thích: chúng chắc chắn không dễ dàng đạt được và tôi không nghĩ bất kỳ ai thực sự muốn sử dụng chúng theo mục đích, nhưng chúng chắc chắn hoạt động. – Razor

+0

OK. Tôi hy vọng tôi có thể tránh phải gỡ lỗi ứng dụng, nhưng trong trường hợp đó, tôi đoán đó là lựa chọn duy nhất. Cảm ơn các nỗ lực mặc dù. –

5

Tôi đã thử các phương pháp khác nhau được đề xuất bởi bài viết MSDN tại http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx về việc buộc IE9 mô phỏng phiên bản trước với tiêu đề Tương thích X-UA để hiển thị chính xác.

Trong trường hợp của tôi, thử nghiệm đang phát tệp video MP4 trong trình duyệt IE9 đang sử dụng chế độ chuẩn mặc định thay vì chế độ tương thích. Các trang web khác đã nói rằng Internet Explorer chỉ được cấu hình để phát tệp MP4 (thay vì ogg và tệp video trên webm), vì vậy tôi cho rằng đó sẽ là định dạng tệp an toàn nhất để kiểm tra.

Tôi đã thử nghiệm chế độ xem trang web bằng cách sử dụng IE9 tiêu chuẩn IE8 và chế độ xem chuẩn IE7 của trang đó và trong cả hai trường hợp, chế độ xem chuẩn cũ đã hoạt động để phát tệp video MP4. Và chế độ tương thích IE9 cũng chơi trang web đó. Nhưng tôi buộc IE9 phải quay trở lại chế độ xem chuẩn để kiểm tra mã sẽ hoạt động để phát video cho những người chưa định cấu hình trình duyệt IE9 của riêng họ để sử dụng chế độ tương thích.

Các phương pháp được đề xuất bởi bài viết MSDN được đề cập trước đó dường như được hướng đến vấn đề này, nhưng trong thử nghiệm từng phương pháp đó, không ai trong số họ khắc phục sự cố trình duyệt IE9 đang phát tệp video MP4.

Giải pháp cho vấn đề của tôi đến từ vé Stack Overflow này: HTML5 Video not working only in IE9

tôi thực sự đã có thêm những dòng sau vào file .htaccess trên website:

AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/mp4 .mov 
AddType video/webm .webm 

Sau đó, tôi cũng cần để đảm bảo rằng dòng đầu tiên của mã được sử dụng này:

<!DOCTYPE html> 

... chứ không phải là điều này:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

Tôi không cần phải sử dụng bất kỳ "phiên bản trước" mã như thế này:

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

Trên trang thử nghiệm của tôi, tôi cũng sử dụng mã video-js, mà tôi đã giả định sẽ chăm sóc vấn đề chuẩn IE9 (vì nó có cho các trình duyệt web khác). Mã riêng của nó dường như cũng xuất ra các mã Tương thích X-UA sau:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<meta http-equiv="X-UA-Compatible" content="IE=9" /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

Tuy nhiên, các mã này không giải quyết được vấn đề. Cuối cùng, tôi tin rằng đó là do việc bổ sung mã vào tệp .htaccess.

1

tôi có một giải pháp cho tất cả (7,8,9) tức là trình duyệt

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" > </script> 

sử dụng kịch bản java này trong thẻ đầu.

+0

[BẠN CÓ THỂ TÌM KIẾM Ở ĐÂY Phần còn lại của liên kết.] (Https://code.google.com/p/ie7-js/) –

+0

Các liên kết này có thể không còn giá trị, như Google Code - đặc biệt là các liên kết trực tiếp trong đó - không đảm bảo vẫn có thể sử dụng được bằng các phương pháp thông thường sau tháng 1 năm 2016, theo 'kế hoạch nghỉ hưu' được nêu chi tiết tại đây: https://code.google.com/p/support/wiki/ReadOnlyTransition –

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