關於在使用EXTJS過程中頁面出現白板的解決方法

使用Extjs過程中,在IE8中訪問部分頁面出現白板的情況,必須要用鼠標單擊空白頁面,EXT的界面纔會出現,而只要再一次加載數據,那麼就會出現白屏,需要重複以上的操作,令使用端煩不勝煩。

 

   因項目的某些特殊要求,必須在IE環境下使用,爲了能夠讓使用端正常的使用起來,採用了一個臨時的解決方法:電腦操作系統上安裝IE8瀏覽器,但是使用火狐的IEtab插件來訪問項目,這樣既能夠避免這種白屏的發生,又能夠滿足項目的特殊要求。

 

  雖然暫時解決了此問題,但此辦法終究不是最終的解決之道,在調查研究、並嘗試多次之後發現,該問題出在聲明此網頁遵循W3C所制定的DTD規則頁面的聲明語句中<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">,經比對,凡是出現該白屏的頁面,這個聲明語句要麼就沒有補上,要麼就沒有http://www.w3.org/TR/html4/loose.dtd"當將這個聲明語句添加上之後,頁面訪問正常。

 

 

在問題的解決過程中發現,問題有可能來源於IE8的一個奇怪的約定:對於所有內部網上的主機(包括localhost),它都會自動啓動所謂的IE7兼容模式,在這個模式下,整個瀏覽器就像是IE7在運作,你會看到地址欄後邊有一個圖標閃現:

 

而測試了一下Ext.isIE7,也確實是true——也就是說,EXTJS確實把它當成了IE7

但是壞就壞在它這個所謂的兼容模式並不真正完全兼容,結果就出現了上面這種奇怪的現象。

 

而要解決這個問題倒也不難,只需在網頁上加上這麼一句即可:

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

這裏IE=edge的意思是讓IE自動適配最高可能的版本——這樣,IE8就會把自己當成IE8,而不會去啓動兼容模式,不管是內網還是外網。

 

當添加這個語句之後,即便沒有添加第一種方法的聲明語句、或者聲明語句補全的情況下,也是可以正常的顯示頁面,而不會出現白屏現象!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章