亚洲第一大片,久久五十路丰满熟女中出,国产探花在线观看视频
HTML5 中40個最重要的技術點
介紹我是一個ASP.NETMVC的開發者,最近在我找工作的時候被問到很多與HTML5相關的問題和新特性。所以以下40個重要的問題將幫助你復習HTML5相關的知識。這些問題不是你得到工作的高效解決方案,但是可以在你想快速復習相關主題的時候有所幫助。快樂地找工作。SGML(標準通用標記語言)和HTML(超文本標記語言),XML(可擴展標記語言)和HTML的之間有什么關系?SGML(標準通用標記語言)是一個標準,告訴我們怎么去指定文檔標記。他是只描述文檔標記應該是怎么樣的元語言,HTML是被用SGML描述的標記語言。因此利用SGML創建了HTML參照和必須共同遵守的DTD,你會經常在HTML頁面的頭部發現“DOCTYPE”屬性,用來定義用于解析目標DTD?1現在解析SGML是一件痛苦的事情,所以創建了XML使事情更好。XML使用了SGML,例如:在SGML中你必須使用起始和結束標簽,但是在XML你可以有自動關閉的結束標簽。XHTML創建于XML,他被使用在HTML4.0中。你可以參考下面代碼片段中展示的XMLDTD?1總之,SGML是所有類型的父類,較舊的HTML利用SGML,HTML4.0使用派生自XML的XHTML什么是HTML5?HTML5是最新的HTML標準,他的主要目標是提供所有內容而不需要任何的像flash,silverlight等的額外插件,這些內容來自動畫,視頻,富GUI等HTML5是萬維網聯盟(W3C)和網絡超文本應用技術工作組(WHATWG)之間合作輸出的為什么HTML5里面我們不需要DTD(DocumentTypeDefinition文檔類型定義)?HTML5沒有使用SGML或者XHTML,他是一個全新的東西,因此你不需要參考DTD,對于HTML5,你僅需放置下面的文檔類型代碼告訴瀏覽器識別這是HTML5文檔如果我不放入,HTML5還會工作么?不會,瀏覽器將不能識別他是HTML文檔,同時HTML5的標簽將不能正常工作哪些瀏覽器支持HTML5?幾乎所有的瀏覽器Safari,Chrome,Firefox,Opera,IE都支持HTML5HTML5的頁面結構同HTML4或者更前的HTML有什么區別?一個典型的WEB頁面包含頭部,腳部,導航,中心區域,側邊欄。現在如果我們想在在HTML4的HTML區域中呈現這些內容,我們可能要使用DIV標簽。但是在HTML5中通過為這些區域創建元素名稱使他們更加清晰,也使得你的HTML更加可讀以下是形成頁面結構的HTML5元素的更多細節:
:代表HTML的頭部數據:頁面的腳部區域:頁面導航元素:自包含的內容:使用內部article去定義區域或者把分組內容放到區域里:代表頁面的側邊欄內容HTML5中的datalist是什么?HTML5中的Datalist元素有助于提供文本框自動完成特性,如下圖所示:以下是DataList功能的HTML代碼:?12345678HTML5中什么是不同的新的表單元素類型?這里有10個重要的新的表單元素在HTML5中被介紹ColorDateDatetime-localEmailTimeUrlRangeTelephoneNumberSearch讓我們一步一步了解這10個元素如果你想顯示顏色選擇對話框?1如果你想顯示日歷對話框?1如果你想顯示含有本地時間的日歷?1如果你想創建一個含有email校驗的HTML文本框,我們可以設置類型為“email”?1對于URL驗證設置類型為”url”,如下圖顯示的HTML代碼?1如果你想用文本展示數字范圍,你可以設置類型為“number”?1如果你想顯示范圍控制,你可以使用類型”range”?1想讓文本框作為搜索引擎?1想只能輸入時間?1如果你想使用文本框接受電話號碼?1HTML5中什么是輸出元素?當你需要計算兩個輸入的和值到一個標簽中的時候你需要輸出元素。例如你有兩個文本框(如下圖),你想將來自這兩個輸入框中的數字求和并放到標簽中。下面是如何在HTML5中使用輸出元素的代碼?12345為了簡單起見,你也可以使用“valueAsNumber”來代替“parseInt”。你同樣能在output元素中使用“for”使其更加可讀?1什么是SVG(ScalableVectorGraphics可縮放矢量圖形)?SVG(ScalableVectorGraphics可縮放矢量圖形)表示可縮放矢量圖形。他是基于文本的圖形語言,使用文本,線條,點等來進行圖像繪制,這使得他輕便,顯示更加迅速我們能看到使用HTML5的SVG的簡單例子么?比方說,我們希望使用HTML5SVG去顯示以下簡單的線條下面是HTML5代碼?123 HTML5中canvas是什么?Canvas是HTML中你可以繪制圖形的區域我們如何使用Canvas來畫一條簡單的線?定義Canvas區域獲取訪問canvas上下文區域繪制圖形定義Canvas區域定義Canvas區域你需要使用下面的HTML代碼,這定義了你能進行繪圖的區域?1獲取畫布區域的訪問在畫布上進行繪圖我們首先需要獲取上下文區域的關聯,下面是獲取畫布區域的代碼。 12varc=document.getElementById("mycanvas");varctx=c.getContext("2d");繪制圖形現在一旦你獲取了訪問上下文,我們就可以開始在上下文中繪制了。首先調用“move”方法并從一個點開始,使用線條方法繪制線條然后使用stroke方法結束。 123ctx.moveTo(10,10);ctx.lineTo(200,100);ctx.stroke();以下是完整的代碼?123456789101112 <script>functionDrawMe(){varc=document.getElementById("mycanvas");varctx=c.getContext("2d");ctx.moveTo(10,10);ctx.lineTo(200,100);ctx.stroke();}你可以得到以下輸出Canvas和SVG圖形的區別是什么?Note:-如果你看了之前的兩個的問題,Canvas和SVG都可以在瀏覽器上繪制圖形。因此在這個問題中,面試官想知道你在什么時候選用哪種方式。SVGCanvas這個就好像繪制和記憶,換句話說任何使用SVG繪制的形狀都能被記憶和操作,瀏覽器可以再次顯示Canvas就像繪制和忘記,一旦繪制完成你不能訪問像素和操作它SVG對于創建圖形例如CAD軟件是良好的,一旦東西繪制,用戶就想去操作它Canvas在繪制和忘卻的場景例如動畫和游戲是良好的因為為了之后的操作,需要記錄坐標,所以比較緩慢因為沒有記住以后事情的意向,所以更快我們可以用繪制對象的相關事件處理我們不能使用繪制對象的相關事件處理,因為我們沒有他們的參考分辨率無關分辨率相關如何使用Canvas和HTML5中的SVG去畫一個矩形?HTML5使用SVG繪制矩形的代碼?123 HTML5使用Canvas繪制矩形的代碼?1234varc=document.getElementById("mycanvas");varctx=c.getContext("2d");ctx.rect(20,20,150,100);ctx.stroke();CSS(cascading >.intro{background-;}>應用上面的”intro”樣式給div,我們可以使用”class”選擇器,如下圖所示?1234
MynameisShivprasadkoirala.
Iwriteinterviewquestions.
如何使用ID值來應用一個CSS樣式?假設,你有一個HTML段落標簽,使用id是”mytext”,就和下面的片段中顯示的那樣?1
ThisisHTMLinterviewquestions.
你可以使用”#”選擇器和”id”的名字創建一種樣式,并把CSS值應用到段落標簽中,因此應用樣式到”mytext”元素,我們可以使用”#mytext”,如下所示?123456<>#mytext{background-color:yellow;}>迅速修訂一些重要的選擇器設置所有段落標簽背景色為黃色?1234divp{background-color:yellow;}設置所有div內部的段落標簽為黃色背景?1234divp{background-color:yellow;}設置所有div之后的段落標簽為黃色背景?1234div+p{background-color:yellow;}設置所有含有“target”屬性的變為黃色背景?1234567a[target]{background-color:yellow;}Sometext
Someothertext你能解釋一些CSS3中的文本效果么?這里面試官期待你回答兩個Css的文本效果,以下是兩種需要注意的效果陰影文本效果?1234.specialtext{text-shadow:5px5px5px#FF0000;}文字包裝效果?1234<>.breakword{word-wrap:break-word;}>什么是Web Workers?為什么我們需要他們?考慮以下會執行上百萬次的繁重的循環代碼?1234567functionSomeHeavyFunction(){for(i=0;i<10000000000000;i++){x=i+x;}}比方說上面的循環代碼在HTML按鈕點擊以后執行,現在這個方法執行是同步的,換句話說這個瀏覽器必須等到循環完成才能操作?1 這個會進一步導致瀏覽器凍結并且沒有相應,屏幕還會顯示如下的異常信息如果你能移動這些繁重的循環到Javascript文件中,采用異步的方式運行,這意味著瀏覽器不需要等到循環接觸,我們可以有更敏感的瀏覽器,這就是webworker的作用Webworker幫助我們用異步執行Javascript文件Web Worker線程的限制是什么?Web worker線程不能修改HTML元素,全局變量和Window.Location一類的窗口屬性。你可以自由使用Javascript數據類型,XMLHttpRequest調用等。我們如何在JavaScript中創建一個worker線程?創建一個worker線程,我們需要通過Javascript文件名創建worker對象?1varworker=newWorker("MyHeavyProcess.js");我們需要使用“PostMessage”發送信息給worker對象,下面是相同的代碼。 1worker.postMessage();當worker線程發送數據的時候,我們在調用結束的時候,通過”onMessage”事件獲取?1234worker.onmessage=function(e){document.getElementById("txt1").value=e.data;};這個繁重的循環在“MyHeavyProcess.js”的Javascript文件中,以下代碼,當Javascript文件想發送信息,他使用”postmessage”,同時任何來自發送者的信息都在“onmessage”事件中接收到。 12345678varx=0self.onmessage=function(e){for(i=0;i<1000000000;i++){x=i+x;}self.postMessage(x);};如何中止Web Worker??1w.terminate();為什么我們需要HTML5的服務發送事件?網絡世界的普遍需求是從服務器更新。以一個股票應用為例,瀏覽器必須定期從服務器更新最新的股票值。現在實現這類需求開發者通常寫一些PULL的代碼,到服務器同時抓取某些區間數據。現在PULL的解決方案是很好的,但是這使得網絡健談有很多的調用,同時增加了服務器的負擔。因此相比于PULL,如果我們能采用某種PUSH的解決方案那會是很棒的。簡而言之,當服務器更新的時候,將會發送更新到瀏覽器客戶端,那可以被接受通過使用”SERVERSENTEVENT”因此首要的是瀏覽器需要連接將會發送更新的服務器資源,比方說我們有一個”stock.aspx”頁面會發送股票更新,因此連接該頁面,我們需要使用附加時間來源對象,如下所示:?1varsource=newEventSource("stock.aspx");當我們將要接受服務器發送的更新信息時,我們需要附加功能。我們需要附加功能到”onmessage”事件就像以下顯示的那樣。 123source.onmessage=function(event){document.getElementById("result").innerHTML+=event.data+" ";};現在來自服務端,我們需要去發送事件,下面是一些用命令需要從服務端發送的重要事件列表EventCommand發送數據到客戶端data:hello告訴客戶端10s內重試retry:10000提出具體事件與數據event:successdata:Youareloggedin.因此,舉例說明,如果你想下面的ASP.NET代碼一樣發送數據,請標記內容類型設置給文本/事件?1234Response.ContentType="text/event-stream";Response.Expires=-1;Response.Write("data:"+DateTime.Now.ToString());Response.Flush();以下是設置10s后重試的命令?1Response.Write("retry:10000");如果你想附加事件,我們需要使用“addEventListener”事件,如下代碼所示:?123source.addEventListener(message,function(e){console.log(e.data);},false);來自服務器端的以下信息將會觸發Javascript的”message”方法?12event:messagedata:helloHTML5中的本地存儲概念是什么?很多時候我們會存儲用戶本地信息到電腦上,例如:比方說用戶有一個填充了一半的長表格,然后突然網絡連接斷開了,這樣用戶希望你能存儲這些信息到本地,當網絡恢復的時候,他想獲取這些信息然后發送到服務器進行存儲現代瀏覽器擁有的存儲被叫做“Local Storage”,你可以存儲這些信息。我們如何從本地存儲中添加和移除數據?數據添加到本地存儲采用鍵值對,以下示例顯示了城市數據”India”添加了鍵”Key001”?1localStorage.setItem(“Key001”,”India”);從本地存儲中檢索數據我們可以提供鍵名并使用”getItem”方法?1varcountry=localStorage.getItem(“Key001”);你也可以使用以下代碼,存儲Javascript對象在本地存儲中?12345varcountry={};country.name=“India”;country.code=“I001”;localStorage.setItem(“I001”,country);varcountry1=localStorage.getItem(“I001”);如果你想存儲Json格式,你可以使用“JSON.stringify”方法,如下所示:?1localStorage.setItem(“I001”,JSON.stringify(country));本地存儲的生命周期是什么?本地存儲沒有生命周期,它將保留知道用戶從瀏覽器清除或者使用Javascript代碼移除。本地存儲和cookies(儲存在用戶本地終端上的數據)之間的區別是什么?CookiesLocalstorage客戶端/服務端客戶端和服務端都能訪問數據。Cookie的數據通過每一個請求發送到服務端只有本地瀏覽器端可訪問數據,服務器不能訪問本地存儲直到故意通過POST或者GET的通道發送到服務器大小每個cookie有4095byte每個域5MB過期Cookies有有效期,所以在過期之后cookie和cookie數據會被刪除沒有過期數據,無論最后用戶從瀏覽器刪除或者使用Javascript程序刪除,我們都需要刪除什么是事務存儲?我們如何創建一個事務存儲?會話存儲和本地存儲類似,但是數據在會話中有效,簡而言之數據在你關閉瀏覽器的時候就被刪除了。為了創建一個會話存儲你需要使用“sessionStorage.variablename.”在以下的代碼我們創建了一個名為”clickcount”的變量;如果你刷新瀏覽器則數目增加,但是如果你關閉瀏覽器,“clickcount”變量又會從0開始。 12345678if(sessionStorage.clickcount){sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;}else{sessionStorage.clickcount=0;}本地存儲和事務存儲之間的區別是什么?本地存儲數據持續永久,但是會話在瀏覽器打開時有效知道瀏覽器關閉時會話變量重置什么是WebSQL?WebSQL是一個在瀏覽器客戶端的結構關系數據庫,這是瀏覽器內的本地RDBMS(關系型數據庫系統),你可以使用SQL查詢WebSql是HTML5的一個規范嗎?不是,許多人把它標記為HTML5,但是他不是HTML5的規范的一部分,這個規范是基于SQLite的我們如何使用WebSQL?第一步我們需要做的是使用如下所示的“OpenDatabase”方法打開數據庫,第一個參數是數據庫的名字,接下來是版本,然后是簡單原文標題,最后是數據庫大小;?1vardb=openDatabase(dbCustomer,1.0,Customerapp’,2*1024*1024);為了執行SQL,我們需要使用“transaction”方法,并調用”executeSql”方法來使用SQL?123456db.transaction(function(tx){tx.executeSql(CREATETABLEIFNOTEXISTStblCust(idunique,customername));tx.executeSql(INSERTINTOtblcust(id,customername)VALUES(1,"shiv"));tx.executeSql(INSERTINTOtblcust(id,customername)VALUES(2,"raju"));}萬一你要使用“select”查詢你會得到數據”result”集合,我們可以通過循環展示到HTML的用戶界面?12345678910db.transaction(function(tx){tx.executeSql(SELECT*FROMtblcust,[],function(tx,results){for(i=0;i"+results.rows.item(i).log+"
";document.querySelector(#customer).innerHTML+=msg;}},null);});HTML5中的應用緩存是什么?一個最需要的事最終是用戶的離線瀏覽,換句話說,如果網絡連接不可用時,頁面應該來自瀏覽器緩存,離線應用緩存可以幫助你達到這個目的應用緩存可以幫助你指定哪些文件需要緩存,哪些不需要。HTML5中我們如何實現應用緩存?首先我們需要指定”manifest”文件,“manifest”文件幫助你定義你的緩存如何工作。以下是”mainfest”文件的結構?1234CACHEMANIFEST#version1.0CACHE:Login.aspx所有manifest文件都以“CACHEMANIFEST”語句開始.#(散列標簽)有助于提供緩存文件的版本.CACHE命令指出哪些文件需要被緩存.Mainfest文件的內容類型應是“text/cache-manifest”.以下是如何在ASP.NETC#使用manifest緩存?1234567Response.ContentType="text/cache-manifest";Response.Write("CACHEMANIFEST
");Response.Write("#2012-02-21v1.0.0
");Response.Write("CACHE:
");Response.Write("Login.aspx
");Response.Flush();Response.End();創建一個緩存manifest文件以后,接下來的事情實在HTML頁面中提供mainfest連接,如下所示:?1當以上文件第一次運行,他會添加到瀏覽器應用緩存中,在服務器宕機時,頁面從應用緩存中獲取我們如何刷新瀏覽器的應用緩存?應用緩存通過變更“#”標簽后的版本版本號而被移除,如下所示:?1234567CACHEMANIFEST#version2.0(new)CACHE:Login.aspxAboutus.aspxNETWORK:Pages.aspx應用緩存中的回退是什么?應用緩存中的回退幫助你指定在服務器不可訪問的時候,將會顯示某文件。例如在下面的manifest文件中,我們說如果誰敲擊了”/home”同時服務器不可到達的時候,”homeoffline.html”文件應送達?12FALLBACK:/home//homeoffline.html應用緩存中的網絡是什么?網絡命令描述不需要緩存的文件,例如以下代碼中,我們說”home.aspx”永遠都不應該被緩存或者離線訪問。 12NETWORK:home.aspx本文屬翻譯作品,英文原文標題是:40 important HTML 5 Interview questions with answers。若無特別說明,英文原文及其衍生作品均使用知識共享署名-相同方式共享(Creative Commons)協議。您可以自由復制、散布、展示及演出本作品;若您改變、轉變或更改本作品,僅在遵守與本作品相同的授權條款下,您才能散布由本作品產生的派生作品。
全國報名服務熱線
400-626-7377
熱門課程咨詢
在線咨詢
微信公眾號
微信號:zpitedu
主站蜘蛛池模板:
欧美成人精品A片免费一区99
|
中文字幕第56页
|
久久九九国产精品怡红院
|
欧美国产精品日韩在线
|
我们看的高清视频在线观看
|
伊人久久大香线蕉综合色狠狠
|
天干天干天啪啪夜爽爽色
|
4虎在线观看
|
特黄一区二区
|
亚洲一级一区
|
亚洲国产欧美一区二区潘金莲
|
强摸秘书人妻大乳bd
|
三级视频在线观看
|
亚洲成在人天堂网
|
视频久久 |
国产乱码精品一区二区三区中文
|
国内精拍拍在线视频免费看
|
人妻少妇无码专视频在线
|
亚洲AV小说最新在线观看网址
|
亚洲精品AⅤ在线国自产拍
亚洲传媒在线
|
精品国产免费人成在线观看
|
在线日韩精品在线
|
久久精品亚洲一级毛片
|
久99久无码精品视频免费播放
|
成人国产一区二区精品小说
|
国内露脸少妇精品视频
|
国产精品网红尤物福利在线观看
|
91视频成人
|
国产精品国产三级国产aⅴ入口
|
女人16一级毛片
|
日本视频在线观看一区二区
|
国产激情一区二区三区四区
|
国产精品12
|
国产精品麻豆欧美日韩ww
|
一个人晚上看的www网站
|
你懂得视频在线
|
av一区二区免费
|
中文字幕亚洲高清精品一区在线
|
每日更新成人在线视频
|
国产色在线
|
久久青青草原亚洲AV无码麻豆
|