1. 程式人生 > >Web前端開發必備--瀏覽器知識科普

Web前端開發必備--瀏覽器知識科普

       做前端開發的程式設計師一定要熟悉各種瀏覽器的核心,以瞭解各種瀏覽器的相容性,瀏覽器自帶的特性,這樣才能做出更好的相容性設計以及程式碼撰寫。

       瀏覽器的種類,如果按照生產商的品牌分,不說數以萬計,起碼也有成百上千種了, 如果按瀏覽器核心分類,它的種類就會少的多。 當今瀏覽器核心的種類值得一體的大約只有三到四個,它們分別是:Trident、Gecko、WebKit和Presto。 乍一看,似乎都很陌生,其實並不然,只要你上過網,就至少用過其中一種瀏覽器核心的瀏覽器軟體,因為它們的市場佔有率的確是太高了。


一、Trident核心,代表產品Internet Explorer

       說起Trident,很多人都會感到陌生,但提起IE(Internet Explorer)則無人不知無人不曉,由於其被包含在全世界使用率最高的作業系統Windows中,得到了極高的市場佔有率,所以我們又經常稱其為IE核心。 Trident(又稱為MSHTML),是微軟開發的一種排版引擎。它在1997年10月與IE4一起誕生,至今經歷12年,至少更新了四個版本,雖然它相對其它瀏覽器核心還比較落後,但Trident一直在被不斷地更新和完善。而且除IE外,許多產品都在使用Trident核心,比如Windows的Help程式、RealPlayer、Windows Media Player、Windows Live Messenger、Outlook Express等等都使用了Trident技術。 但並不是所有的IE都使用Trident引擎,微軟還有另一個網頁瀏覽器排版引擎,叫做Tasman,它是使用在Internet Explorer for Mac的排版引擎,即蘋果版的IE引擎。 使用Trident引擎的瀏覽器有很多,比如Internet Explorer、Maxthon遨遊、世界之窗、騰訊TT、Netcapter、Avant等等,但Trident只能應用於Windows平臺,且是不開源的。

二、Gecko核心,代表作品Mozilla Firefox

      Gecko也是一個陌生的詞,但Firefox的名聲應該已經有所耳聞,Gecko是一套開放原始碼的、以C++編寫的網頁排版引擎。 目前為Mozilla家族網頁瀏覽器以及Netscape 6以後版本瀏覽器所使用。這軟體原本是由網景通訊公司開發的,現在則由Mozilla基金會維護。它的最大優勢是跨平臺,能在Microsoft Windows、Linux和MacOS X等主要作業系統上執行,而且它提供了一個豐富的程式介面以供網際網路相關的應用程式使用,例如網頁瀏覽器、HTML編輯器、客戶端/伺服器等等。 Gecko是最流行的排版引擎之一,僅次於Trident。使用它的最著名瀏覽器有Firefox、Netscape6至9。

三、WebKit核心,代表作品Safari、Chrome

     webkit 是一個開源專案,包含了來自KDE專案和蘋果公司的一些元件,主要用於Mac OS系統,它的特點在於原始碼結構清晰、渲染速度極快。主要代表作品有Safari和Google的瀏覽器Chrome。

四、Presto核心,代表作品Opera

      Presto是由Opera Software開發的瀏覽器排版引擎,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態功能,例如網頁或其部分可隨著DOM及Script語法的事件而重新排版。 Presto在推出後不斷有更新版本推出,使不少錯誤得以修正,以及閱讀Javascript效能得以最佳化,併成為速度最快的引擎,這也是Opera被公認為速度最快的瀏覽器的基礎

五、擴充套件閱讀-殼子瀏覽器  俗話就是換了外殼包裝下出來忽悠的瀏覽器

       現在還有很多殼子瀏覽器,自己本身不帶核心,而是直接呼叫本機其他瀏覽器的核心,來實現瀏覽的功能。由於IE瀏覽器在國內的普及率非常高,所以造成了很多網上銀行和支付系統只支援IE的Trident核心,其他瀏覽器訪問根本無法進行正常支付和轉賬等業務。很多瀏覽器開發商就運用了殼子瀏覽器的特性推出了“雙核”瀏覽器,帶有兩種瀏覽模式,其原理就是本身帶一核心,開啟相容模式後,呼叫本機上的ie核心,來實現雙引擎功能。其中代表產品有搜狗瀏覽器、傲遊3、QQ瀏覽器等。這種瀏覽器的好處在訪問支付寶或者網上銀行的時候,使用Trident核心的“相容模式”來進行業務。這樣一個瀏覽器多個核心,滿足同一使用者的不同需求。

       核心只是一個通俗的說法,其英文名稱為“Layout engine”,翻譯過來就是“排版引擎”,也被稱為“頁面渲染引擎”。它負責取得網頁的內容(HTML、XML、影象等等)、整理資訊(例如加入CSS等),以及計算網頁的顯示方式,然後會輸出至顯示器或印表機。所有網頁瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網路內容的應用程式都需要排版引擎。

       不同的瀏覽器核心對網頁編寫語法的解釋也有不同,因此同一網頁在不同的核心的瀏覽器裡的渲染(顯示)效果也可能不同,這也是網頁編寫者需要在不同核心的瀏覽器中測試網頁顯示效果的原因。

六、簡單總結

      1、使用Trident核心的瀏覽器:IE、Maxthon、TT、The World等;

      2、使用Gecko核心的瀏覽器:Netcape6及以上版本、FireFox、MozillaSuite/SeaMonkey;

      3、使用Presto核心的瀏覽器:Opera7及以上版本;

      4、使用Webkit核心的瀏覽器:Safari、Chrome。

轉自: http://www.yxxme.com/915.html#prettyPhoto