前端人員痛苦的事情就是調(diào)整網(wǎng)頁在不同瀏覽器下的效果,先要找出市場占有率較大的幾款瀏覽器,然后每次寫好前端代碼,都要去各個瀏覽器分別測試一下有沒有問題,如果有,就要針對修改,直至所有瀏覽器都完美,近幾年移動設(shè)備流行起來,許多人在手機上上網(wǎng),這就要求手機的界面效果也要保持一致不能出錯,手機的屏幕及分辨率種類遠遠大于電腦,這對前端人員的要求更高了。
自己電腦上看到的,并不一定也是別人看到的,所以要做兼容性測試,并告知客戶反饋兼容性問題。之所以有兼容性問題,因為不同瀏覽器使用內(nèi)核及所支持的HTML(標準通用標記語言下的一個應(yīng)用)等網(wǎng)頁語言標準不同;以及用戶客戶端的環(huán)境不同(如分辨率不同)造成的顯示效果不能達到理想效果。常見的問題就是網(wǎng)頁元素位置混亂,錯位。
對于一般用戶來說應(yīng)該用ie8兼容模式瀏覽網(wǎng)頁, 而不應(yīng)該用ie9或ie10渲染模式. 很多用戶安裝ie10后發(fā)生很多網(wǎng)頁顯示錯亂, 就是兼容性的原因, 因為ie10默認的渲染模式是ie10. 此時應(yīng)該將其改為ie7渲染模式。為什么用ie6/7渲染模式的原因如下,中國所有網(wǎng)頁肯定都支持ie, 支持ie就是支持ie內(nèi)核的所有瀏覽器. 但并不一定支持chrome, firefox, 雙核瀏覽器的高速模式, 原因很簡單, 網(wǎng)頁開發(fā)人員沒有那么多時間和精力去兼容及測試那么多瀏覽器, 開發(fā)人員能讓網(wǎng)頁在ie下正常工作已經(jīng)不錯了, 就這還老得加班呢,還有很多新需求和bug,測試人員還要去改,渲染模式和網(wǎng)頁打開速度幾乎沒有關(guān)系, 用戶感覺不到.
對于網(wǎng)站開發(fā)者來說,目前暫沒有統(tǒng)一的能解決這樣的工具,普遍的解決辦法就是不斷的在各瀏覽器間調(diào)試網(wǎng)頁顯示效果,通過對css樣式控制以及通過腳本判斷并賦予不同瀏覽器的解析標準。如果所要實現(xiàn)的效果可以使用框架,那么還有另一個解決辦法是在開發(fā)過程中使用當前比較流行的JS,CSS框架,如jQuery,YUI等等,因為這些框架無論是底層的還是應(yīng)用層的一般都已經(jīng)做好了瀏覽器兼容,所以可以放心使用。除此之外,CSS提供了很多hack接口可供使用,hack既可以實現(xiàn)跨瀏覽器的兼容,也可以實現(xiàn)同一瀏覽器不同版本的兼容。