1.常見(jiàn)瀏覽器有哪些恩闻?哪些內(nèi)核?
- Trident(IE內(nèi)核)
(1)幢妄、IE6兔仰、IE7、IE8(Trident 4.0)蕉鸳、IE9(Trident 5.0)乎赴、IE10(Trident 6.0);
(2)潮尝、獵豹安全瀏覽器:1.0-4.2版本為T(mén)rident+Webkit榕吼,4.3版本為T(mén)rident+Blink;
(3)勉失、360安全瀏覽器 :1.0-5.0為T(mén)rident羹蚣,6.0為T(mén)rident+Webkit惕它,7.0為T(mén)rident+Blink脸候;
(4)、360極速瀏覽器:7.5之前為T(mén)rident+Webkit,7.5為T(mén)rident+Blink童社;
(5)告匠、傲游瀏覽器 :傲游1.x戈抄、2.x為IE內(nèi)核,3.x為IE與Webkit雙核后专;
(6)划鸽、搜狗高速瀏覽器:1.x為T(mén)rident,2.0及以后版本為T(mén)rident+Webkit戚哎; - Gecko(Firefox內(nèi)核)
火狐瀏覽器(Firefox) - Webkit(Safari內(nèi)核,Chrome內(nèi)核原型,開(kāi)源)
Google Chrome裸诽、360極速瀏覽器以及搜狗瀏覽器高速模式也使用webkit作為內(nèi)核
WebKit內(nèi)核常見(jiàn)的瀏覽器:
Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機(jī)瀏覽器型凳、Android 默認(rèn)瀏覽器丈冬、Google Chrome - Blink(WebkitWebCore組件分支,Google與Opera Software共同開(kāi)發(fā))
在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex瀏覽器中使用甘畅。 - Presto(Opera前內(nèi)核) (已廢棄)
2.介紹一下你對(duì)瀏覽器內(nèi)核的理解
只是一個(gè)通俗的說(shuō)法埂蕊,其英文名稱(chēng)為“Layout engine”,翻譯過(guò)來(lái)就是“排版引擎”疏唾,也被稱(chēng)為“頁(yè)面渲染引擎”蓄氧。它負(fù)責(zé)取得網(wǎng)頁(yè)的內(nèi)容(HTML、XML槐脏、圖像等等)喉童、整理信息(例如加入CSS等),以及計(jì)算網(wǎng)頁(yè)的顯示方式顿天,然后會(huì)輸出至顯示器或打印機(jī)堂氯。所有網(wǎng)頁(yè)瀏覽器蔑担、電子郵件客戶(hù)端以及其它需要編輯、顯示網(wǎng)絡(luò)內(nèi)容的應(yīng)用程序都需要排版引擎咽白。
至于眾多的瀏覽器啤握,他們只不過(guò)是:{不同瀏覽器的外殼+內(nèi)核=瀏覽器}。外殼指的是瀏覽器界面上的菜單局扶,工具欄恨统,那些讓用戶(hù)操作的,而他們都是調(diào)用內(nèi)核來(lái)實(shí)現(xiàn)各種功能三妈。
不同的瀏覽器內(nèi)核對(duì)網(wǎng)頁(yè)編寫(xiě)語(yǔ)法的解釋也有不同畜埋,因此同一網(wǎng)頁(yè)在不同的內(nèi)核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網(wǎng)頁(yè)編寫(xiě)者需要在不同內(nèi)核的瀏覽器中測(cè)試網(wǎng)頁(yè)顯示效果的原因畴蒲。
3.doctype有什么作用悠鞍?怎么寫(xiě)?
它是指示 web 瀏覽器關(guān)于頁(yè)面使用哪個(gè) HTML 版本進(jìn)行編寫(xiě)的指令模燥,以決定其需要采用的渲染模式
HTML5及以上 | <咖祭!DOCTYPE HTML> |
---|---|
HTML 4.01嚴(yán)格 | <!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.01 // EN” “http://www.w3.org/TR/html4/strict.dtd”> |
HTML 4.01過(guò)渡 | <蔫骂!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.01 Transitional // EN”“http://www.w3.org/TR/html4/loose.dtd”> |
HTML 4.01框架集 | <么翰!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.01 Frameset // |
4.頁(yè)面出現(xiàn)了亂碼,是怎么回事辽旋?如何解決浩嫌?
- 比如網(wǎng)頁(yè)源代碼是gbk的編碼,而內(nèi)容中的中文字是utf-8編碼的补胚,這樣瀏覽器打開(kāi)即會(huì)出現(xiàn)html亂碼码耐。反之網(wǎng)頁(yè)是編碼utf-8,內(nèi)容是gbk也會(huì)出現(xiàn)亂碼溶其。
瀏覽器不能自動(dòng)檢測(cè)網(wǎng)頁(yè)編碼骚腥,造成網(wǎng)頁(yè)亂碼。 - 如果自己開(kāi)發(fā)網(wǎng)頁(yè)瓶逃,必須網(wǎng)頁(yè)加入meta charset編碼標(biāo)簽束铭, 使瀏覽器和網(wǎng)頁(yè)源碼編碼格式相同 <meta charset="UTF-8"> <meta charset="GBK">。
如果瀏覽器瀏覽時(shí)候出現(xiàn)網(wǎng)頁(yè)亂碼厢绝,在瀏覽器中找到轉(zhuǎn)換編碼的菜單纯露。
5.meta 有哪些常見(jiàn)的值?
- charset:此特性聲明當(dāng)前文檔所使用的字符編碼代芜,但該聲明可以被任何一個(gè)元素的 lang 特性的值覆蓋。
- content:基于內(nèi)容浓利,這個(gè)屬性為 http-equiv或 name 屬性提供了與其相關(guān)的值的定義.
- http-equiv:這個(gè)枚舉屬性定義了能改變服務(wù)器和用戶(hù)引擎行為的編譯挤庇。
<meta content="value"> | 描述 |
---|---|
content-language | 定義頁(yè)面的默認(rèn)語(yǔ)言钞速。它可以被任何元素上的lang屬性所覆蓋。 |
content-security-policy | 允許頁(yè)面作者定義當(dāng)前頁(yè)面的內(nèi)容策略嫡秕。內(nèi)容策略主要指定允許的服務(wù)器起始和腳本端點(diǎn)渴语,這有助于防止跨站點(diǎn)腳本攻擊。 |
content-type | 定義文檔的MIME類(lèi)型昆咽,后跟其字符編碼驾凶。它遵循與HTTP content-type實(shí)體頭字段相同的語(yǔ)法,但是像在HTML頁(yè)面中一樣掷酗,大多數(shù)值text/html是不可能的调违。因此,它的有效語(yǔ)法content是字符串“ text/html'后跟一個(gè)具有以下語(yǔ)法的字符集:' '泻轰,其中是IANA定義的字符集的首選MIME名稱(chēng); |
refresh | 該指令指定:直到頁(yè)面重新加載的秒數(shù)技肩,如果該content屬性只包含一個(gè)正整數(shù)。頁(yè)面重定向到另一個(gè)頁(yè)面的秒數(shù)浮声,如果該content屬性包含一個(gè)正整數(shù)虚婿,后跟字符串' ;url=',那么一個(gè)有效的URL泳挥。 |
set-cookie | 定義頁(yè)面的Cookie然痊。其內(nèi)容必須遵循IETF HTTP Cookie規(guī)范中定義的方法。 |
- name:此屬性定義一段文檔級(jí)元數(shù)據(jù)的名稱(chēng)
<meta name="value"> | 描述 |
---|---|
application-name | 規(guī)定頁(yè)面所代表的 Web 應(yīng)用程序的名稱(chēng)屉符。 |
author | 規(guī)定文檔的作者的名字剧浸。實(shí)例: <meta name="author" content="Hege Refsnes"> |
description | 規(guī)定頁(yè)面的描述。搜索引擎會(huì)把這個(gè)描述顯示在搜索結(jié)果中筑煮。實(shí)例: <meta name="description" content="Free web tutorials"> |
generator | 規(guī)定用于生成文檔的一個(gè)軟件包(不用于手寫(xiě)頁(yè)面)辛蚊。實(shí)例: <meta name="generator" content="FrontPage 4.0"> |
keywords | 規(guī)定一個(gè)逗號(hào)分隔的關(guān)鍵詞列表 - 相關(guān)的網(wǎng)頁(yè)(告訴搜索引擎頁(yè)面是與什么相關(guān)的)。提示:總是規(guī)定關(guān)鍵詞(對(duì)于搜索引擎進(jìn)行頁(yè)面分類(lèi)是必要的)真仲。實(shí)例: <meta name="keywords" content="HTML, meta tag, tag reference"> |
- scheme (過(guò)時(shí)):該屬性定義了描述元數(shù)據(jù)的方案袋马。
6.label的作用是什么?是怎么用的秸应?
-功能:表示Label標(biāo)簽要綁定的HTML元素虑凛,你點(diǎn)擊這個(gè)標(biāo)簽的時(shí)候,所綁定的元素將獲取焦點(diǎn)软啼。
- 用法:<Label FOR="InputBox">姓名</Label><input ID="InputBox" type="text">ACCESSKEY屬性:功能:表示訪(fǎng)問(wèn)Label標(biāo)簽所綁定的元素的熱鍵桑谍,當(dāng)您按下熱鍵,所綁定的元素將獲取焦點(diǎn)祸挪。
<label>Click me <input type="text"></label>
<label for="username">Click me</label>
<input type="text" id="username">
- 用法:<Label FOR="InputBox" ACCESSKEY="N">姓名</Label><input ID="InputBox" type="text">局限性:accessKey屬性所設(shè)置的快捷鍵不能與瀏覽器的快捷鍵沖突锣披,否則將優(yōu)先激活瀏覽器的快捷鍵。
7.簡(jiǎn)述一下你對(duì)HTML語(yǔ)義化的理解?
- 用正確的標(biāo)簽做正確的事情雹仿,讓頁(yè)面的內(nèi)容結(jié)構(gòu)化增热,便于瀏覽器、搜索引擎解析胧辽。
- 在沒(méi)有CSS樣式情況下也以一種文檔格式顯示且易讀峻仇。
- 搜索引擎的爬蟲(chóng)依賴(lài)于標(biāo)記來(lái)確認(rèn)上下文和各個(gè)關(guān)鍵字的權(quán)重,利于SEO邑商。
- 便于開(kāi)發(fā)與維護(hù)摄咆。
- 使閱讀源代碼的人對(duì)網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀理解人断。
8.iframe有哪些優(yōu)缺點(diǎn)吭从?
iframe是一種框架,也是一種很常見(jiàn)的網(wǎng)頁(yè)嵌入方式含鳞,零度今天給大家分析分析它的優(yōu)缺點(diǎn)影锈。
- iframe的優(yōu)點(diǎn):
1.iframe能夠原封不動(dòng)的把嵌入的網(wǎng)頁(yè)展現(xiàn)出來(lái)。
2.如果有多個(gè)網(wǎng)頁(yè)引用iframe蝉绷,那么你只需要修改iframe的內(nèi)容鸭廷,就可以實(shí)現(xiàn)調(diào)用的每一個(gè)頁(yè)面內(nèi)容的更改,方便快捷熔吗。
3.網(wǎng)頁(yè)如果為了統(tǒng)一風(fēng)格辆床,頭部和版本都是一樣的,就可以寫(xiě)成一個(gè)頁(yè)面桅狠,用iframe來(lái)嵌套讼载,可以增加代碼的可重用。
4.如果遇到加載緩慢的第三方內(nèi)容如圖標(biāo)和廣告中跌,這些問(wèn)題可以由iframe來(lái)解決咨堤。 - iframe的缺點(diǎn):
1.會(huì)產(chǎn)生很多頁(yè)面,不容易管理漩符。
2.iframe框架結(jié)構(gòu)有時(shí)會(huì)讓人感到迷惑一喘,如果框架個(gè)數(shù)多的話(huà),可能會(huì)出現(xiàn)上下嗜暴、左右滾動(dòng)條凸克,會(huì)分散訪(fǎng)問(wèn)者的注意力,用戶(hù)體驗(yàn)度差闷沥。
3.代碼復(fù)雜萎战,無(wú)法被一些搜索引擎索引到,這一點(diǎn)很關(guān)鍵舆逃,現(xiàn)在的搜索引擎爬蟲(chóng)還不能很好的處理iframe中的內(nèi)容蚂维,所以使用iframe會(huì)不利于搜索引擎優(yōu)化戳粒。
4.很多的移動(dòng)設(shè)備(PDA 手機(jī))無(wú)法完全顯示框架,設(shè)備兼容性差鸟雏。
5.iframe框架頁(yè)面會(huì)增加服務(wù)器的http請(qǐng)求享郊,對(duì)于大型網(wǎng)站是不可取的。
分析了這么多孝鹊,現(xiàn)在基本上都是用Ajax來(lái)代替iframe,所以iframe已經(jīng)漸漸的退出了前端開(kāi)發(fā)展蒂。