網頁設計剛起步的時候,跨瀏覽器相容性是個大麻煩,原因在於每家瀏覽器解讀HTML和CSS的方式都不太一樣。當時的主流瀏覽器Netscape Navigator和Internet Explorer(IE)彼此競爭,衍生出一連串相容性問題,讓設計師和開發者吃足了苦頭。
瀏覽器戰爭的開始
90年代中期,網際網路開始興起,Netscape Navigator和Internet Explorer成了市場上的兩大對手,這段時期被外界稱為「瀏覽器戰爭」。兩家為了搶市占率,不斷推出新功能和擴充,但這些功能大多不是建立在標準化的網路技術上。結果就是,同一個網頁換一個瀏覽器打開,呈現出來的樣子可能完全不同。
標準化的掙扎
那時候的網頁標準還沒有共識。W3C(全球資訊網協會)是主要的網路技術標準制定者,一直努力推動HTML和CSS的標準化,
可是瀏覽器廠商各做各的,推動起來困難重重。像IE和Netscape就各自加入了專屬的標籤和CSS擴充,開發者只好為同一個網站做好幾個版本,分別對應不同的瀏覽器。工作量變多不說,網頁的一致性和無障礙性也跟著打折。
解決方案與權衡
面對這些相容性問題,開發者想了不少辦法。常見的一種是瀏覽器偵測:
先判斷使用者用的是哪種瀏覽器,再動態送出不同的網頁內容或樣式。這種做法得額外寫程式碼處理各家瀏覽器的特殊狀況,開發也變得更複雜。設計師則常常要做取捨:要嘛把設計收斂到所有瀏覽器都能支援的最低共同標準,要嘛為了用上某個瀏覽器的進階功能,犧牲其他瀏覽器使用者的體驗。
標準化的逐步發展
到了2000年代初,Internet Explorer的市場主導地位逐漸確立,Firefox等新瀏覽器也開始崛起,網頁標準化才終於被更廣泛地接受和遵循。W3C發布的標準漸漸成為網頁開發的共同語言,瀏覽器廠商也更重視是否符合標準。這個轉變對後來的網頁設計與開發影響很大:開發者的工作量少了,也為更豐富、互動性更高的網頁應用打下了基礎。
類似的相容性問題今天並沒有完全消失,只是戰場換到了各種手機、平板與瀏覽器版本上。企業架站時,建議把不同裝置與瀏覽器的實機測試列入驗收項目;在比較網頁設計公司推薦名單時,也可以問問對方平常如何處理相容性與標準規範。