2012-07-17 45 views
8

我知道如何強制IE瀏覽器查看頁面文件兼容性,但瀏覽器兼容性如何查看強制IE9導入瀏覽器兼容性視圖

我有一個項目,只有當IE9是因各種原因瀏覽器兼容性視圖的工作,但我無法找到如何強制IE9這樣做的任何資源。

每個人都只談論強迫文檔兼容性,例如,使用

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

但是,這並不在我的情況下工作,因爲它只能設置文檔視圖。有沒有辦法設置瀏覽器視圖

PS:要十分清楚,這是我需要強制執行的設定:

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

回答

8

MSDN documentation
您應該使用emulateIE7因爲兼容模式是一種IE7的:

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

編輯

如果上述方法無效時,other options真的差。
從上面的鏈接引用:

  • 微軟並沒有放在黑名單的網站的域名。 (原始文章中鏈接的黑名單很舊,未更新,您可以在計算機上找到本地副本)
  • 內部網管理員未將該網站放置在黑名單上。
  • 用戶未按兼容性視圖按鈕(杜)
  • 該網站是不是在Intranet區域
  • 的頁面不被兼容模式頁面框架。

以上是AFAIK,兼容模式的唯一原因。
除非您準備直接與Microsoft聯繫以將您的網站添加到全球黑名單中,否則沒有太多可以做的事情(除非您想將您的網站封裝在源於黑名單域的框架中)。

+0

我嘗試了所有的文檔兼容模式,但是這對頁面的問題沒有影響。它實際上只在瀏覽器模式顯式設置爲兼容性視圖時纔有效。 – 2012-07-17 09:57:20

+0

@FlorianPeschka我添加了所有觸發兼容模式的已知因素:它們絕對不容易實現,我不認爲有人會真的想故意使用它們,但它們確實有效。 – Razor 2012-07-17 11:29:15

+0

好的。我希望我可以避免必須調試應用程序,但在這種情況下,我想這是唯一的選擇。謝謝你的努力。 – 2012-07-18 08:26:52

5

我試過了MSDN文章http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx建議的各種方法,強制IE9使用X-UA兼容標頭模擬以前的版本以便正確顯示。

在我的情況下,測試是在IE9瀏覽器中播放MP4視頻文件,該瀏覽器使用默認的標準模式而不是兼容模式。其他網站說,Internet Explorer只能配置爲播放MP4文件(而不是ogg和webm視頻文件),所以我認爲這將是最安全的文件格式來測試。

我已經測試了使用IE9模擬IE8標準和該頁面的IE7標準視圖的網頁視圖,並且在這兩種情況下,舊標準視圖都適用於播放MP4視頻文件。 IE9兼容模式也播放該網頁。但是我強制IE9回到標準視圖,以便測試一個可以用於播放視頻的代碼,用於那些沒有配置自己的IE9瀏覽器以使用兼容模式的用戶。

前面引用的MSDN文章提出的方法似乎是針對這個問題,但在測試每種方法時,它們都沒有解決IE9瀏覽器播放MP4視頻文件的問題。

我的問題的解決方案,從這個堆棧溢出票傳來:HTML5 Video not working only in IE9

其實我有以下行添加到網站上的.htaccess文件:

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

然後,我還需要以確保代碼的第一行中使用這樣的:

<!DOCTYPE html> 

...而不是這樣的:

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

我不需要使用任何的「以前的版本」的代碼,例如這樣的:

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

在我的測試頁面,我也用video-js代碼,我本以爲會照顧IE9標準問題(與其他網頁瀏覽器一樣)。它自己的代碼似乎也還輸出下面的X-UA兼容代碼:

<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" /> 

然而,這些代碼本身並不解決問題。最終,我相信這是由於將代碼添加到.htaccess文件中。

1

我對所有(7,8,9)的一個解決方案,即瀏覽器

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

利用頭標記該Java腳本。

+0

[您可以在這裏找到其他鏈接](https://code.google.com/p/ie7-js/) – 2014-06-26 08:13:00

+0

這些鏈接可能不會有效,因爲Google代碼 - 特別是其中的直接鏈接 - 不是保證在2016年1月以後按照通常的方法保持可用狀態,根據以下詳細的「退休計劃」:https://code.google.com/p/support/wiki/ReadOnlyTransition – 2015-09-08 16:12:43