2015-04-28 70 views
1

我一直在閱讀關於IE中文檔類型模擬和兼容模式的內容,並且不得不說它的相當一部分讓人頭痛。在公司設置中使用X-UA兼容模擬IE9

我用Bootstrap 3和Ember開發了一個應用程序,通過菜單控制幾個頁面。

我在所有瀏覽器,Webkit,Moz和IE中測試了這一切,看起來都很完美。我在一家大公司工作,所以當我決定在我的一些同事的電腦上測試IE時,我得到了一個空白頁面。現在我發現這很奇怪,因爲它們全部運行IE10或IE11,儘管存在奇怪的IE9。我無法理解它,因爲它在我的IE上完美呈現。

所以無論如何,我開始打自己的瀏覽器F12,意識到其中許多人有IE7模仿,即使它們運行的​​IE10或11

我讀了一些關於這個問題,我發現以下幾點:

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

所以我開始這一行添加到我的頁面,以便它如下:

<!DOCTYPE html> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> 

現在我的問題是這樣的:我是在假設正確,如果當在工作中使用IE時,re是某種組策略集,這種解決方法可以解決問題嗎?

明天早上我會做一些測試,但只是想知道這是否正確?

許多人在工作中使用Chrome和Firefox或任何他們想要的東西,但顯然有很多人使用IE。

+0

我相信,組策略將獲勝。我有一個Intranet應用程序的問題,即有複選框「啓用兼容模式的Intranet應用程序」選中。 HTTP標頭,元標籤,沒有任何工作。我們必須取消選中該框。 – dman2306

回答

1

留意,一定有原因,如果當前的組策略設置爲啓用兼容模式(其他一些內聯網應用可能),而其他應用程序可能會停止工作(或呈現嚴重)的理由你禁用它。如果管理員以某種方式配置了兼容性視圖列表,那麼您很幸運,因爲您只需要將您的網絡應用的網址包含到該列表中即可。

https://msdn.microsoft.com/en-us/library/ie/gg622935(v=vs.85).aspx

爲文檔模式,我建議你用這個來代替:

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

版本設置爲 'IE =邊緣' 講述的Internet Explorer使用 最新引擎呈現頁面並執行JavaScript。

https://www.modern.ie/en-us/performance/how-to-use-x-ua-compatible

要「IE = EmulateIE9」是你的應用程序是針對傳統的文件模式,在你的情況是不是因爲你使用的是最新的web框架出來的唯一原因那裏。我假設你想爲你的用戶提供最好的UI體驗。

據我所知,在你的情況下IE版本不同,有些可能不支持「IE =邊緣」。這將是正確的,因爲它會回退到最高支持的文檔模式。例如,具有IE = 9,IE =邊緣或者IE = EmulateIE9的IE8導致IE8模式。

https://msdn.microsoft.com/en-us/library/ff405771(v=vs.85).aspx

1

IE針對不同類型的內容使用不同的security zones。來自Internet的東西被加載到Internet區域中。來自本地網絡的東西被加載到Intranet區域中。如果您瀏覽Internet選項,則可以看到不同的security settings適用於各個區域。

如果您通過網絡部署應用程序,那麼您的應用程序可能會在Intranet區域中加載應用程序(右鍵單擊該頁面,然後選擇屬性進行確認)。

默認情況下,IE在兼容性視圖中加載內部網頁,與使用EmulateIE7作爲x-ua兼容元素的內容值相同。這意味着,如果沒有其他標記/更改,您的應用程序將被視爲在IE7中查看。

如果您需要特定的文檔模式,您應該能夠直接在內容值中指定該模式,例如content="ie=9"。如果這沒有幫助,請嘗試adding an MotW進入頁面,以便頁面加載到Internet區域。反過來,這應該允許x-ua兼容設置生效。

如果未通過GPO禁用它們,也可以更改Compatibility View Settings,以便Intranet頁面不會自動加載到兼容性視圖中。

希望這有助於...

- 蘭斯

+0

嗨。謝謝大家的意見,它真的很有幫助。請注意 - 儘管該應用程序最終將運行在服務器/內部網上,但我正在使用USB存儲器進行測試,即打開html文件並不從服務器上運行它。 (燼允許你這樣做)。 – user1525612

+1

USB棒仍將被視爲本地文件資源;您將獲得Intranet區域或本地文件區域(取決於IE版本)。要點是一樣的;它仍然是一個單獨的安全區域,並將(可能)與Intranet類似,因此這些建議仍然適用。 (有差異,但我認爲在這裏不值得一提。) –