淺談瀏覽器兼容性問題

兼容性問題是如何產生的

首先咱們看一則笑話,若是用槍來比喻各瀏覽器的話,其中chrome,ff等都是NB轟轟的槍。而IE?渣就算了,槍頭還要反過來?這是鬧哪樣。html

再回歸正題。2001年微軟發佈了XP和IE6,在當時是世界上標準執行得最高的瀏覽器,而且有不少私有技術和容錯技術,使得頂峯市場份額達到98%。因而驕傲的微軟不理睬W3C,W3C也把微軟拋棄,兩家分道揚鑣越久,標準的相差就愈來愈遠。遺留下的兼容性問題就交到了如今的前端開發者身上了。前端

說白一點,瀏覽器是一個(X)HTML/CSS/Javascript等語言的解釋執行環境,h1能解釋爲標題,a能解釋爲鏈接,都是瀏覽器定義好的,這一份定義從一開始定製時有誤差,最終會致使解釋的結果就會差得很遠,就產生了瀏覽器兼容性的問題。chrome

如何看待兼容性問題

w3c標準纔是WEB發展的正確趨勢,因此咱們要先熟悉 w3c標準,總體的網頁應該以標準爲準。瀏覽器

  1. 先在兼容w3c的瀏覽器上進行開發調試,尤爲是HTML結構佈局。
  2. 再結合一些常見兼容性積累,在開發階段就解決IE678的怪異問題。
  3. 而後實地測試,保證產品/項目中不存在一些BUG。
  4. 最後階段,咱們必需要在本身的積累中添加前一階段遇到BUG的解決方法,用框架和文檔去規範本身,快速解決咱們的未來會遇到的重複或相似問題。

IE6

全球IE6實時數據:http://www.ie6countdown.com 中國大陸一枝獨秀。在實際項目中,要不要兼容IE6,兼容到哪一個程度。我以爲這能夠歸結爲一種項目/產品成本的考慮問題:若是兼容IE6,那麼咱們的開發人力時間及其餘成本要增長多少,回報有多少。鑑於國情,也很難一會兒咔嚓掉這個問題。就好像IC芯片的銀行卡比磁條的要好用安全,一晚上之間全國全部磁條卡都不能用,ATM全換了,時間人力成本根本不可能,公衆(例如我)也不會接受。再細分一點吧,各行業這個狀況也不太同樣,金融、gov和醫療行業恐怕是老大難了。甚至還見過有醫院裏面是用WIN2000+IE5.5。 對於此我只有兩點意見: 1. IE6兼容得再好,效率確定沒有V8引擎的chrome來得快,並且不少兼容是以效率爲代價的。 2. 不要由於忙於兼容IE6,而不去理會HTML5/CSS5等新標準,IT人員老是要向前看的。安全

兼容性問題的思考

隨着移動互聯網的興起,移動設備的兼容問題成爲一種新的問題。當時項目實際遇到的問題是:雙擊與單擊的問題。並且移動端的兼容問題最大的仍是分辨率問題,這個也不是某個廠家刻意爲難人的,是客觀存在的。普及語義化標籤,能必定程度上解決這個問題;響應式佈局,也是應此而興起的。框架

因爲時代是不停在發展的,因此兼容性問題確定會長期存在,咱們也沒必要抱着一種厭倦的態度去看待;並且我以爲這個問題的解決正是前端開發人員的一部分價值體現所在;最後,在解決了重複的問題以後,必定要有所概括,有所收穫,令本身的價值提高。兼容,不只是指向後兼容,還包括對將來可能出現問題的處理。佈局

參考

http://www.zhihu.com/question/21296251/answer/17798392測試

http://www.zhihu.com/question/20984284調試

相關文章
相關標籤/搜索