頁面在360瀏覽器下顯示不正常的兼容性問題介紹

引言: 在Web應用的開發過程中 , 發現若干頁面在360的瀏覽器上顯示不正常 , 而在其他的瀏覽器上,皆為正常狀態,問題出在哪里呢?
問題的提出:
Web頁面在360的瀏覽器上,顯示不正確 。但是在Firefox、chrome和IE8 以上的瀏覽器上,都是顯示正常的 。
問題的分析
1. 檢查了一些Javascript框架,標準的jquery類庫1.x系列,確認其工作正常 , 問題不是在于Javascript方面 。
2. 排查掉HTML標簽內容的顯示 問題 。
3. 懷疑是CSS在不同瀏覽器下的兼容性問題 , 見過排查,沒有發現問題 。
4. 排查360瀏覽器,發現其在當前頁面的顯示中,默認使用了IE7的渲染引擎 。同時,在IE7的環境下,重現了類似情況 。
5. 本質上,這個顯示問題是頁面在IE7下面的兼容性顯示問題 。
關于360瀏覽器或搜狗瀏覽器的分析:
對于此類瀏覽器,有時候號稱雙核或者N核的高速瀏覽器,其本質上就是本地IE瀏覽器的殼子 , 外加Chrome抑或Firefox的內核,大部分情況下都是WebKit系列內核 。
那么 , 此類瀏覽器依據什么信息,來判斷頁面的渲染模式呢?答案就是可以指令運行當前頁面的瀏覽器使用何種渲染引擎的聲明 。


這里,就是指令瀏覽器至少要使用IE8以上的渲染引擎來,渲染頁面,從而規避掉IE7下的問題 。
關于Doctype
聲明必須是 HTML 文檔的第一行,位于 標簽之前 。
聲明不是 HTML 標簽;它是指示 web 瀏覽器關于頁面使用哪個 HTML 版本進行編寫的指令 。
在 HTML 4.01 中, 聲明引用 DTD,因為 HTML 4.01 基于 SGML 。DTD 規定了標記語言的規則,這樣瀏覽器才能正確地呈現內容 。
分析: doctype所要解決的就是使用何種HTML的語法解析器和渲染器 。比如特定HTML標簽的使用,則依賴于HTML Doctype的使用 。
【頁面在360瀏覽器下顯示不正常的兼容性問題介紹】

頁面在360瀏覽器下顯示不正常的兼容性問題介紹

相關經驗推薦