關(guān)于跨瀏覽器測(cè)試那點(diǎn)事
Web設(shè)計(jì)與開(kāi)發(fā)者的一個(gè)重要工作環(huán)節(jié)是跨瀏覽器測(cè)試,誰(shuí)讓我們生活在這個(gè)既幸福又痛苦的時(shí)代,有那么多瀏覽器擺在我們面前,還有那個(gè)噩夢(mèng)般總也擺脫不掉的 IE6。(51CTO推薦閱讀:10款瀏覽器Web應(yīng)用開(kāi)發(fā)性能橫向比較)
夢(mèng)幻五組合
IE獨(dú)霸天下的那些日子,Web設(shè)計(jì)師不時(shí)陷入IE同它競(jìng)爭(zhēng)者的口水戰(zhàn),然而,當(dāng)一些新的,注重Web標(biāo)準(zhǔn)的瀏覽器出現(xiàn)時(shí),事情發(fā)生了改變,IE的統(tǒng)治地位受到了挑戰(zhàn)。時(shí)過(guò)境遷,移動(dòng)瀏覽器與新渲染引擎的出現(xiàn),使Web設(shè)計(jì)者開(kāi)始考慮跨瀏覽器測(cè)試的問(wèn)題。如今,Web設(shè)計(jì)者逐漸將目標(biāo)固定在5或6個(gè)主要瀏覽器,然而事情并沒(méi)有了結(jié),一勞永逸是一個(gè)永遠(yuǎn)的夢(mèng)。
盡管瀏覽器市場(chǎng)被5大瀏覽器主導(dǎo),但是,也不能忽視那個(gè)占0.87% 的其它,一般來(lái)說(shuō),跨瀏覽器測(cè)試是針對(duì)不同的渲染引擎,假如你已經(jīng)針對(duì)Trident,Gecko,Webkit,Presto等主流渲染引擎做過(guò)了測(cè)試,似乎可以說(shuō)已經(jīng)是比較安全了。然而,針對(duì)更廣泛的設(shè)備與平臺(tái)的測(cè)試仍然必要,可以幫你發(fā)現(xiàn)很多潛在的問(wèn)題。
基礎(chǔ)測(cè)試
目前,一個(gè)嚴(yán)重的問(wèn)題是設(shè)備相關(guān)性。Apple一意孤行拒絕在iPhone和iPad中支持Flash,Apple與Adobe相互攻擊的聲音不絕于耳。盡管Flash自己負(fù)責(zé)內(nèi)容的渲染,但,僅僅在主流瀏覽器進(jìn)行測(cè)試仍不足發(fā)現(xiàn)潛在的問(wèn)題,拓展你的測(cè)試范圍勢(shì)在必行。
Flash自己渲染內(nèi)容,但并不是所有瀏覽器都支持Flash。另一個(gè)問(wèn)題是渲染引擎的版本,支持最新版本固然重要,然而很多設(shè)備仍在使用舊版本的渲染引擎,這要求我們同時(shí)針對(duì)渲染引擎的新舊版本進(jìn)行測(cè)試。
Internet Explorer 6.0使用的是BUG重重的舊Trident渲染引擎。渲染引擎的問(wèn)題不僅存在于版本之間,還有不同的平臺(tái)和設(shè)備,毫無(wú)疑問(wèn),針對(duì)各種平臺(tái),各種設(shè)備的測(cè)試會(huì)讓你瘋掉。為小屏幕進(jìn)行設(shè)計(jì)著實(shí)不易,尤其當(dāng)不同設(shè)備間還沒(méi)有達(dá)成一致的時(shí)候。這在桌面系統(tǒng)中葉存在,同一個(gè)渲染引擎,在不同平臺(tái),仍有細(xì)微差別。
A List Apart 對(duì)渲染差異十分重視,他們干脆為移動(dòng)設(shè)備設(shè)計(jì)了單獨(dú)的版本。除了渲染差異,跨瀏覽器兼容還有一個(gè)更重要的問(wèn)題:javaScript引擎。早期,人們對(duì)JavaScript唯一問(wèn)題是,是否啟用它,然而現(xiàn)在,那些擁有相同渲染引擎的不同瀏覽器往往擁有差別巨大的JavaScript引擎。你需要針對(duì)不同瀏覽器測(cè)試JavaScript的性能,尤其當(dāng)你使用了大量jQuery絢麗效果的時(shí)候。
這是Chrome試驗(yàn)站點(diǎn),用來(lái)展示Chrome的JavaScript的性能。最后,是可訪問(wèn)性問(wèn)題。你必須明白,當(dāng)一些有某些方面的障礙的人訪問(wèn)你的站點(diǎn)的時(shí)候,可訪問(wèn)性問(wèn)題會(huì)迫使他們只使用某種瀏覽器,在這種情形,你要記住,不能忽視這些常常被遺忘的人。
Opera盡管只占很小的市場(chǎng)份額,但它的語(yǔ)音功能對(duì)那些有特殊需求的人士來(lái)說(shuō),意味著全部。
#p#
長(zhǎng)遠(yuǎn)視角
可訪問(wèn)性問(wèn)題,不同的JavaScript引擎,跨平臺(tái)問(wèn)題,渲染的差異,技術(shù)依賴等等問(wèn)題會(huì)讓你自嘆命苦,然而這還不夠,你還要研究你的目標(biāo)用戶?;ㄒ恍r(shí)間和你的訪問(wèn)者進(jìn)行溝通,了結(jié)他們的需求。比如,使用投票統(tǒng)計(jì)你的訪問(wèn)者所使用的瀏覽器分布,最終你會(huì)發(fā)現(xiàn),你可能還要針對(duì)移動(dòng)瀏覽進(jìn)行設(shè)計(jì),或者為iPhone設(shè)計(jì)。
類(lèi)似的統(tǒng)計(jì)可以讓你了解你的站點(diǎn)訪問(wèn)者的瀏覽器分布
不同平臺(tái)的渲染引擎
以下是移動(dòng)和桌面平臺(tái)的瀏覽器渲染引擎清單,我們會(huì)看到越來(lái)越多的瀏覽器面世,因此,要為未來(lái)考慮。
桌面和移動(dòng)平臺(tái)下,都有相當(dāng)數(shù)量的渲染引擎
以下瀏覽器使用Trident引擎
以下瀏覽器使用Gecko引擎
以下瀏覽器使用Webkit引擎
而使用Presto引擎的瀏覽器則主要限于Opera
總結(jié)
或許你的網(wǎng)站沒(méi)有任何錯(cuò)誤,或許在每一個(gè)場(chǎng)合都看上去很棒,然而,對(duì)于真正的跨平臺(tái)兼容,5大瀏覽器測(cè)試仍然不夠。如果本文只教會(huì)你一件事,那就是,花時(shí)間同你的訪問(wèn)者溝通,分析他們的需求。另外,花時(shí)間測(cè)試各種平臺(tái),各種設(shè)備的每個(gè)渲染引擎,針對(duì)不同的JavaScript引擎進(jìn)行性能測(cè)試。在一個(gè)Web主導(dǎo)的世界,花時(shí)間讓你的站點(diǎn)延伸到盡可能多的人,是值得的。
【編輯推薦】