瀏覽器內(nèi)核以及瀏覽器兼容的問題區(qū)分
發(fā)表時(shí)間:2023-09-06 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]本篇文章給大家?guī)淼膬?nèi)容是關(guān)于瀏覽器內(nèi)核以及瀏覽器兼容的問題分析,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。一、瀏覽器內(nèi)核?Rendering Engine,中文翻譯過來名稱很多,排版引擎、解釋引擎、渲染引擎,現(xiàn)在流行稱為瀏覽器內(nèi)核。 用來渲染網(wǎng)頁內(nèi)容的,將網(wǎng)頁的內(nèi)容和排版代碼...
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于瀏覽器內(nèi)核以及瀏覽器兼容的問題分析,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。
一、瀏覽器內(nèi)核
?Rendering Engine,中文翻譯過來名稱很多,排版引擎、解釋引擎、渲染引擎,現(xiàn)在流行稱為瀏覽器內(nèi)核。 用來渲染網(wǎng)頁內(nèi)容的,將網(wǎng)頁的內(nèi)容和排版代碼轉(zhuǎn)換為可視的頁面,一個(gè)瀏覽器可能不止有一個(gè)內(nèi)核。
1、排版引擎
(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 |
2、JavaScript引擎
(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引擎。
3、單雙核引擎
(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)核之后也會(huì)歸類到這里。說實(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、css兼容
(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è)置
2、html兼容
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 不能從父元素繼承。以下情況會(huì)觸發(fā)瀏覽器怪異模式(Quirks Mode):
沒寫 DOCTYPE 觸發(fā)怪異模式
在<!DOCTYPE ...>前加<?xml version="1.0" encoding="utf-8" ?>, IE6 下會(huì)觸發(fā)怪異模式
在<!DOCTYPE ...>前加入<!-- keep IE7 in Quirks Mode -->, IE7進(jìn)入怪異模式
<!DOCTYPE ...>前有任何非空字符,會(huì)在IE6 下會(huì)觸發(fā)怪異模式
<!DOCTYPE ...>前有 XML ,在IE7 下不會(huì)觸發(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>
相關(guān)推薦:
瀏覽器內(nèi)核信息整理
瀏覽器內(nèi)核 網(wǎng)址分解 web服務(wù)器
js判斷瀏覽器版本以及瀏覽器內(nèi)核的方法_javascript技巧
以上就是瀏覽器內(nèi)核以及瀏覽器兼容的問題分析的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。