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