2012-07-27 69 views
2

這可能與ExtJS沒有任何關係,但我必須提供所有信息才能得到正確的答案:D。IE8壞的遠程頁面渲染

我有一個應用程序使用ExtJS 4.1來顯示一些網格面板。

當我在localhost上運行應用程序時,一切看起來都應該如此。

當我在遠程服務器上部署應用程序時,網格不再按照IE8的要求顯示:不管列對齊如何,所有信息都壓縮在表中(列標題很好,但其他單元格重疊)。

爲了使事情變得更加普遍:

同一應用程序運行在本地主機好(無論是什麼計算機上),但是當我在服務器上部署它,IE8不顯示的東西,因爲它應該。這是因爲CSS或JavaScript文件(可能都與ExtJS有關)。

爲什麼?

+0

聽起來像是一個缺失或舊的緩存文件問題......要麼,或者IE進入兼容模式,因爲它從本地移動到內部網(我以前見過這種情況發生 - 內部網策略默認爲兼容模式出於某種原因)。 – 2012-07-27 10:05:34

+0

@TimMedora如何檢查這個(兼容模式)?我100%肯定這不是因爲緩存中的一些舊文件,因爲我已經清理了好幾次。 – Dragos 2012-07-27 11:07:13

+0

工具 - >兼容性視圖設置 – 2012-07-27 11:09:08

回答

1

每任擇議定書的要求,張貼此作爲一個答案:

默認情況下,IE運行具有兼容性視圖啓用Intranet站點。其原因可能是大多數使用IE的Intranet站點都是專門爲IE編寫的,因此當IE開始更加嚴格地遵守標準時就會中斷。

這可能會導致本地查看與內部網(以及Internet上)之間的區別。這可以通過Windows組策略進行全面更改;一些組織接受這一點,有些不能/不會做出改變。

如果聲明meta http-equiv="X-UA-Compatible" content="IE=edge"沒有修復行爲(如註釋中所述),我會首先檢查兼容性視圖是否爲問題。

其他可能性
我假設你已經制定了正確的文檔類型(如HTML 5和HTML 4嚴格的,但我相信其他人會工作也沒關係)。這與「X-UA兼容」聲明一起使用。

格式錯誤的標記可能會觸發怪癖模式,這在幾乎所有情況下都很殘酷。這可能並非如此,因爲它在本地看起來不錯,但很容易檢查。確保你的文檔是合理的valid,以及更重要的是你的DTD之前沒有前導字符(這會使解析器混淆)。不正確的服務器代碼可能導致數據寫入HTML之前的響應流,導致此行爲。

最後,將問題簡化爲最簡單的形式,即找到導致行爲的最基本的標記。如果這沒有給你任何見解,請在JS小提琴中張貼破碎的代碼。

+0

是的,這是導致問題的「兼容模式」。我會看到可以做些什麼。謝謝! – Dragos 2012-07-30 14:27:21

1

如果是IE8,檢查開發人員工具文檔模式,它可能會出現怪癖模式。