說到瀏覽器都不陌生,上網必備品,只是用戶看到僅僅只是瀏覽器本身,卻很少能看到瀏覽器最核心的部分—瀏覽器內核。
那么市場上常用的瀏覽器都有哪些呢?
主流瀏覽器及內核又是哪些呢?
下面給大家整理了一些瀏覽器相關知識:
我們先來看一下瀏覽器市場份額
目前最為主流瀏覽器有五大款
1、IE瀏覽器(Internet explorer)2、火狐瀏覽器(Firefox)3、谷歌瀏覽器(Chrome)4、蘋果瀏覽器(Safari)5、歐朋瀏覽器(Opera)
內核的概念
瀏覽器內核又可以分成兩部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。它負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入 CSS 等),以及計算網頁的顯示方式,然后會輸出至顯示器或打印機。瀏覽器的內核的不同對於網頁的語法解釋會有不同,所以渲染的效果也不相同。所有網頁瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網絡內容的應用程序都需要內核。JS 引擎則是解析 Javascript 語言,執行 javascript 語言來實現網頁的動態效果。最開始渲染引擎和 JS 引擎並沒有區分的很明確,后來 JS 引擎越來越獨立,內核就傾向於只指渲染引擎。有一個網頁標准計划小組制作了一個 ACID 來測試引擎的兼容性和性能。內核的種類很多,如加上沒什么人使用的非商業的免費內核,可能會有 10 多種,但是常見的瀏覽器內核可以分這四種:Trident、Gecko、Blink、Webkit。
四大主流內核
1、Trident 代表作:IE
介紹:元老級內核之一,由微軟開發,並於1997年10月首次在ie 4.0中使用,憑借其windows壟斷優勢,Trident市場占有率一直很高。然而壟斷並非,沒有競爭就沒有進步,長期以往,Trident內核一度停滯不前,更新緩慢,甚至一度與W3C標准脫節。2011年,從ie 9開始,Trident開始支持HTML5和CSS 3,因此我們也經常會看到有些網站在瀏覽時會提示用戶(在Internet Explorer 9.0+以上瀏覽效果最佳)。前端程序員做瀏覽器兼容一般也不再會考慮ie 8之前的瀏覽器了。
2、Gcko 代表作:Mozilla
介紹:元老級內核之一,由Netscape公司Mozilla組織開發。1998年,Netscape在於IE瀏覽器競爭失利之后,成立了非正式組織Mozilla,由其開發新一代內核,后命名為“Gecko”。FireFox也是這班人開發出來了,因此這也就是Mozilla一直使用的內核。
Gecko的特點是代碼完全公開,因此其開發程度很高,全世界的程序員都可以為其編寫代碼,增加功能。
3、Webkit 代表作:蘋果 & 谷歌舊版本
介紹:這是蘋果公司開發的內核,也是其旗下產品Ssfari瀏覽器使用的內核。Webkit引擎包含了WebCode排版引擎和JavaScriptCode解析引擎,分別是從KDE的KHTML和KJS衍生而來,它們都是自由軟件,在GPL條約下授權,同時支持BSD系統開發。
Chrome、360極速瀏覽器以及搜狗高速瀏覽器也使用Webkit作為內核(在腳本理解方面,Chorome使用自己研發的V8引擎)。
4、Blink 代表作:谷歌 & Opera
介紹:這是由Google和Opera Software開發的瀏覽器排版引擎,Google計算將這個渲染引擎作為Chromium計划的一部分,並且在2013年4月公布了這一消息。這一渲染引擎是開源引擎Webkit中WebCore組件的一個分支,並且在Chrome(28及往后版本)、Opera(15及往后版本)瀏覽器中使用
5、Presto 代表作: ( Opera前內核 已經廢棄 )
常見其它瀏覽器及內核:
1、搜狗瀏覽器 Trident(兼容模式)+Webkit(高速模式);
2、QQ瀏覽器 Trident(兼容模式)+Webkit(高速模式);
3、UC瀏覽器 Trident(兼容模式)+Webkit(高速模式);
4、360瀏覽器 IE+Chrome雙內核;
5、百度瀏覽器 IE內核
6、獵豹瀏覽器 IE+Chrome雙內核;
7、世界之窗瀏覽器 IE內核
8、遨游瀏覽器 Trident(兼容模式)+Webkit(高速模式);
拓展:移動端的瀏覽器的內核
移動端的瀏覽器內核主要說的是系統內置瀏覽器的內核。
1、Android手機而言:
使用率最高的就是Webkit內核,大部分國產瀏覽器宣稱的自己的內核,基本上也是屬於webkit二次開發。
2、iOS以及WP7平台上:
由於系統原因,系統大部分自帶瀏覽器內核,一般是Safari的內核webkit或者IE內核的Trident。
市場是這么多的瀏覽器,在開發中兼容問題不可避免,為什么會出現瀏覽器兼容問題?
1、各大廠商出於自身利益考慮而設置的種種技術壁壘,都讓CSS應用起來比想象得要麻煩
2、由於各大主流瀏覽器由不同的廠家開發,所用的核心架構和代碼也很難重和,這就為各種莫名其妙的Bug(代碼錯誤)提供了溫床。
寫這篇文章主要是自己在工作和學習中經常遇到瀏覽器兼容問題,這是對不同瀏覽器 和內核的總結,以后有時間對常見的瀏覽器兼容做一下總結,希望對大家有幫助。