您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“計(jì)算機(jī)網(wǎng)絡(luò)中瀏覽器內(nèi)核以及瀏覽器兼容的問題分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“計(jì)算機(jī)網(wǎng)絡(luò)中瀏覽器內(nèi)核以及瀏覽器兼容的問題分析”這篇文章吧。
?Rendering Engine,中文翻譯過來名稱很多,排版引擎、解釋引擎、渲染引擎,現(xiàn)在流行稱為瀏覽器內(nèi)核。 用來渲染網(wǎng)頁內(nèi)容的,將網(wǎng)頁的內(nèi)容和排版代碼轉(zhuǎn)換為可視的頁面,一個(gè)瀏覽器可能不止有一個(gè)內(nèi)核。
(1)Trident(Windows)360 IE
(2)Gecko(跨平臺)Mozilla Firefox、Mozilla SeaMonkey
(3)KHTML(Linux)Konqueror
(4)WebKit(跨平臺)Apple Safari、Symbian系統(tǒng)瀏覽器
(5)Chromium(跨平臺) Chromium、Google Chrome、SRWare Iron、Comodo Dragon
(6)Presto(跨平臺)Opera
瀏覽器 | 內(nèi)核 |
---|---|
IE、百度、世界之窗 | Trident |
chrome、opera | chromium或稱Blink |
360、獵豹、2345瀏覽器 | IE+chromium |
Firefox | Gecko |
Safari | Webkit |
搜狗、遨游、QQ瀏覽器 | trident+webkit |
(1)Chakra
查克拉,IE9啟用的新的JavaScript引擎。
(2)SpiderMonkey/TraceMonkey/JaegerMonkey
SpiderMonkey應(yīng)用在Mozilla Firefox 1.0-3.0,TraceMonkey應(yīng)用在Mozilla Firefox 3.5-3.6版本,JaegerMonkey應(yīng)用在Mozilla Firefox 4.0及后續(xù)的版本。
(3)V8
應(yīng)用于Chrome、傲游3。
(4)Nitro
應(yīng)用于Safari 4及后續(xù)的版本。
(5)Linear A/Linear B/Futhark/Carakan
Linear A應(yīng)用于Opera 4.0-6.1版本,Linear B應(yīng)用于Opera 7.0~9.2版本,F(xiàn)uthark應(yīng)用于Opera 9.5-10.2版本,Carakan應(yīng)用于Opera 10.5及后續(xù)的版本。
(6)KJS
KHTML對應(yīng)的JavaScript引擎。
(1)Trident/Gecko雙核瀏覽器
(2)Trident/WebKit雙核瀏覽器
現(xiàn)在國內(nèi)最主流的“雙核”瀏覽器基本都是這個(gè)架構(gòu),360極速瀏覽器、世界之窗瀏覽器極速版、傲游3搜狗瀏覽器3、QQ瀏覽器、楓樹瀏覽器、快快瀏覽器、百度瀏覽器、阿云瀏覽器(后期版本)、太陽花瀏覽器,其中最奇葩的是傲游3。其它雙核瀏覽器都是基于Chromium的,而傲游是基于WebKit的,但是偏偏又用的是V8引擎。
(3)Trident/Gecko/WebKit三核瀏覽器
目前能見的應(yīng)該就是日本的Lunascape,Avant增加了WebKit內(nèi)核之后也會歸類到這里。說實(shí)話,Lunascape真的很難用,真的很奇葩。各個(gè)內(nèi)核相對獨(dú)立,外殼本身不夠強(qiáng)化,穩(wěn)定性不高,所以還不如用回單核瀏覽器。
對瀏覽器兼容問題,一般分,HTML,Javascript兼容,CSS兼容。 其中html相關(guān)問題比較容易處理,無非是高版本瀏覽器用了低版本瀏覽器無法識別的元素,導(dǎo)致其不能解析,所以平時(shí)注意一點(diǎn)就是。特別是HTML5增加了許多新標(biāo)簽,低版本瀏覽器有點(diǎn)影響時(shí)代進(jìn)步啊
(1) 不同瀏覽器的margin和padding的默認(rèn)設(shè)置差距大,使用*{margin:0px;padding:0px;}
(2)ie6、7和遨游里這個(gè)標(biāo)簽的高度不受控制,超出自己設(shè)置的高度.在此標(biāo)簽中加入overflow:hidden
(3)圖片默認(rèn)有間距,使用float
(4)盒子坍塌,父元素加入(overflow:hidden;)變成BFC元素
(5)字體大小在不同瀏覽器里不一致,使用line-height:14px;指定高度
(6)IE6 不支持 png 透明效果
(7)CSS Hack兼容性屬性設(shè)置
HTML 篇
(1)樣式兼容性問題
<!-- IE 按 Edge 模式渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<!-- IE 8 9 10 按 IE7 模式渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=Emulate7" />
(2)怪異模式
怪異模式是沒有遵守 W3C 規(guī)范的一種兼容模式,其中的 width 是包括 contentWidth, 左右padding, 左右border 在內(nèi)的全部范圍(height 也一樣),類似于 box-sizing: border-box;,而且 table 的 font-size 不能從父元素繼承。以下情況會觸發(fā)瀏覽器怪異模式(Quirks Mode):
沒寫 DOCTYPE 觸發(fā)怪異模式
在<!DOCTYPE ...>前加<?xml version="1.0" encoding="utf-8" ?>, IE6 下會觸發(fā)怪異模式
在<!DOCTYPE ...>前加入<!-- keep IE7 in Quirks Mode -->, IE7進(jìn)入怪異模式
<!DOCTYPE ...>前有任何非空字符,會在IE6 下會觸發(fā)怪異模式
<!DOCTYPE ...>前有 XML ,在IE7 下不會觸發(fā)怪異模式,但不能有其他非空字符
檢查document.compatMode,可以查看瀏覽器工作在哪個(gè)模式:值BackCompat為怪異模式,值CSS1Compat為標(biāo)準(zhǔn)模式
(3)display:inline-block 元素間有間隙
<!-- 以下的 li 元素是 display: inline; 類型的 --> <!-- 這樣寫元素之間有間隙 --> <ul> <li>apple</li> <li>banana</li> <li>pineapple</li> <li>peach</li> <li>orange</li> </ul> <!-- 換個(gè)寫法解決問題--> <ul> <li>apple</li><li> banana</li><li> pineapple</li><li> peach</li><li> orange</li> </ul>
(4)IE可能出現(xiàn)的文檔樣式短暫失效問題
<head> <!-- meta部分 --> <title></title> <!-- 可能的script部分 --> <script type="text/javascript"></script> <!-- 關(guān)鍵:添加一個(gè)空標(biāo)簽 --> <!-- link部分 --> </head>
以上是“計(jì)算機(jī)網(wǎng)絡(luò)中瀏覽器內(nèi)核以及瀏覽器兼容的問題分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。