首先問(wèn)你,瀏覽器是什么?很多人會(huì)說(shuō),就是瀏覽網(wǎng)站的,就是看各種商品和新聞的。
瀏覽器用學(xué)術(shù)用語(yǔ)講,是指可以顯示網(wǎng)頁(yè)服務(wù)器或者文件系統(tǒng)的HTML文件(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的一個(gè)應(yīng)用)內(nèi)容,并讓用戶與這些文件交互的一種軟件。
國(guó)內(nèi)網(wǎng)民計(jì)算機(jī)上常見(jiàn)的網(wǎng)頁(yè)瀏覽器有,QQ瀏覽器、Internet Explorer、Firefox、Safari,Opera、Google Chrome、百度瀏覽器、搜狗瀏覽器、獵豹瀏覽器、360瀏覽器、UC瀏覽器、傲游瀏覽器、世界之窗瀏覽器等,瀏覽器是最經(jīng)常使用到的客戶端程序。但是你們知道瀏覽器兼容性的問(wèn)題嗎?我們這里要討論的就是瀏覽器兼容性的問(wèn)題。
瀏覽器兼容性問(wèn)題又被稱為網(wǎng)頁(yè)兼容性或網(wǎng)站兼容性問(wèn)題,指網(wǎng)頁(yè)在各種瀏覽器上的顯示效果可能不一致而產(chǎn)生瀏覽器和網(wǎng)頁(yè)間的兼容問(wèn)題。在網(wǎng)站的設(shè)計(jì)和制作中,做好瀏覽器兼容,才能夠讓網(wǎng)站在不同的瀏覽器下都正常顯示。而對(duì)于瀏覽器軟件的開(kāi)發(fā)和設(shè)計(jì),瀏覽器對(duì)標(biāo)準(zhǔn)的更好兼容能夠給用戶更好的使用體驗(yàn)。
為什么會(huì)有兼容性問(wèn)題?
因?yàn)椴煌瑸g覽器使用內(nèi)核及所支持的HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)等網(wǎng)頁(yè)語(yǔ)言標(biāo)準(zhǔn)不同;以及用戶客戶端的環(huán)境不同(如分辨率不同)造成的顯示效果不能達(dá)到理想效果。最常見(jiàn)的問(wèn)題就是網(wǎng)頁(yè)元素位置混亂,錯(cuò)位。
那我們?cè)撊绾稳ソ鉀Q呢?
對(duì)于一般用戶(文匯軟件的客戶)來(lái)說(shuō)
應(yīng)該用ie8兼容模式瀏覽網(wǎng)頁(yè),而不應(yīng)該用ie9或ie10渲染模式.很多用戶安裝ie10后發(fā)生很多網(wǎng)頁(yè)顯示錯(cuò)亂,就是兼容性的原因,因?yàn)閕e10默認(rèn)的渲染模式是ie10.此時(shí)應(yīng)該將其改為ie7渲染模式。
為什么用ie6/7渲染模式的原因如下:
中國(guó)所有網(wǎng)頁(yè)肯定都支持ie,支持ie就是支持ie內(nèi)核的所有瀏覽器.但并不一定支持chrome,firefox,雙核瀏覽器的高速模式,原因很簡(jiǎn)單,網(wǎng)頁(yè)開(kāi)發(fā)人員沒(méi)有那么多時(shí)間和精力去兼容及測(cè)試那么多瀏覽器,開(kāi)發(fā)人員能讓網(wǎng)頁(yè)在ie下正常工作已經(jīng)不錯(cuò)了,就這還老得加班呢,還有很多新需求和bug,測(cè)試人員還要去改。
渲染模式和網(wǎng)頁(yè)打開(kāi)速度幾乎沒(méi)有關(guān)系,用戶感覺(jué)不到.
對(duì)于網(wǎng)站開(kāi)發(fā)者(文匯軟件)來(lái)說(shuō)
目前暫沒(méi)有統(tǒng)一的能解決這樣的工具,最普遍的解決辦法就是不斷的在各瀏覽器間調(diào)試網(wǎng)頁(yè)顯示效果,通過(guò)對(duì)css樣式控制以及通過(guò)腳本判斷并賦予不同瀏覽器的解析標(biāo)準(zhǔn)。
如果所要實(shí)現(xiàn)的效果可以使用框架,那么還有另一個(gè)解決辦法是在開(kāi)發(fā)過(guò)程中使用當(dāng)前比較流行的JS,CSS框架,如jQuery,YUI等等,因?yàn)檫@些框架無(wú)論是底層的還是應(yīng)用層的一般都已經(jīng)做好了瀏覽器兼容,所以可以放心使用。除此之外,CSS提供了很多hack接口可供使用,hack既可以實(shí)現(xiàn)跨瀏覽器的兼容,也可以實(shí)現(xiàn)同一瀏覽器不同版本的兼容。
當(dāng)我們把以上問(wèn)題解決之后,我們辛辛苦苦寫(xiě)的網(wǎng)站就不會(huì)因?yàn)闉g覽器兼容性問(wèn)題而變成一堆亂碼,毫無(wú)章法的堆在那里了。