1.HTML5中我們如何實現應用緩存?
首先我們需要指定”manifest”文件,“manifest”文件幫助你定義你的緩存如何工作。以下是”mainfest”文件的結構
所有manifest文件都以“CACHE MANIFEST”語句開始.
#(散列標簽)有助于提供緩存文件的版本.
CACHE命令指出哪些文件需要被緩存.
Mainfest文件的內容類型應是“text/cache-manifest”.
2.以下是如何在ASP.NET C#使用manifest緩存
創建一個緩存manifest文件以后,接下來的事情實在HTML頁面中提供mainfest連接,如下所示:
當以上文件第一次運行,他會添加到瀏覽器應用緩存中,在服務器宕機時,頁面從應用緩存中獲取。
3.我們如何使用WebSQL?
第一步我們需要做的是使用如下所示的“OpenDatabase”方法打開數據庫,第一個參數是數據庫的名字,接下來是版本,然后是簡單原文標題,最后是數據庫大小;
為了執行SQL,我們需要使用“transaction”方法,并調用”executeSql”方法來使用SQL
萬一你要使用“select”查詢你會得到數據”result”集合,我們可以通過循環展示到HTML的用戶界面
4.什么是事務存儲?我們如何創建一個事務存儲?
會話存儲和本地存儲類似,但是數據在會話中有效,簡而言之數據在你關閉瀏覽器的時候就被刪除了。
為了創建一個會話存儲你需要使用“sessionStorage.variablename.”在以下的代碼我們創建了一個名為”clickcount”的變量;
如果你刷新瀏覽器則數目增加,但是如果你關閉瀏覽器,“clickcount”變量又會從0開始。
5.本地存儲和cookies(儲存在用戶本地終端上的數據)之間的區別是什么?
CookiesLocalstorage
客戶端/服務端客戶端和服務端都能訪問數據。Cookie的數據通過每一個請求發送到服務端只有本地瀏覽器端可訪問數據,服務器不能訪問本地存儲直到故意通過POST或者GET的通道發送到服務器
大小每個cookie有4095byte每個域5MB
過期Cookies有有效期,所以在過期之后cookie和cookie數據會被刪除沒有過期數據,無論最后用戶從瀏覽器刪除或者使用Javascript程序刪除,我們都需要刪除
6.我們如何在JavaScript中創建一個worker線程?
創建一個worker線程,我們需要通過Javascript文件名創建worker對象
我們需要使用“PostMessage”發送信息給worker對象,下面是相同的代碼。
當worker線程發送數據的時候,我們在調用結束的時候,通過”onMessage”事件獲取
這個繁重的循環在“MyHeavyProcess.js”的Javascript文件中,以下代碼,當Javascript文件想發送信息,他使用”postmessage”,同時任何來自發送者的信息都在“onmessage”事件中接收到。
7.請描述一下cookies,sessionStorage和localStorage的區別?
cookie是網站為了標示用戶身份而儲存在用戶本地終端(Client Side)上的數據(通常經過加密)
cookie數據始終在同源的http請求中攜帶(即使不需要),記會在瀏覽器和服務器間來回傳遞
sessionStorage和localStorage不會自動把數據發給服務器,僅在本地保存
存儲大小:
cookie數據大小不能超過4k
sessionStorage和localStorage雖然也有存儲大小的限制,但比cookie大得多,可以達到5M或更大
有期時間:
localStorage存儲持久數據,瀏覽器關閉后數據不丟失除非主動刪除數據、、
sessionStorage數據在當前瀏覽器窗口關閉后自動刪除
cookie設置的cookie過期時間之前一直有效,即使窗口或瀏覽器關閉
8.如何實現瀏覽器內多個標簽頁之間的通信?
WebSocket、、SharedWorker
也可以調用localstorge、cookies、本地存儲方式
localstorge另一個瀏覽上下文里被添加、、修改或刪除時,它都會觸發一個事件,我們通過監聽事件,控制它的值來進行頁面信息通信
注意quirks:Safari在無痕模式下設置localstorge值時會拋出QuotaExceededError的異常
9.如何在頁面上實現一個圓形的可點擊區域?
(1)map+area或者svg
(2)border-radius
(3)純js實現需要求一個點在不在圓上簡單算法、、獲取鼠標坐標、
10.介紹一下標準的CSS的盒子模型?低版本IE的盒子模型有什么不同的?
(1)有兩種,IE盒子模型、、W3C盒子模型
(2)盒模型:內容(content)、填充(padding)、邊界(margin)、邊框(border)
(3)區別:IE的content部分把border和padding計算了進去
11.CSS優先級算法如何計算?
優先級就近原則,同權重情況下樣式定義最近者為準;
載入樣式以最后載入的定位為準;
優先級為:
!important >??id > class> tag
important比內聯優先級高(style)
12.display:none和visibility:hidden的區別?
display:none隱藏對應的元素,在文檔布局中不再給它分配空間,它各邊的元素會合攏,就當他從來不存在
visibility:hidden隱藏對應的元素,但是在文檔布局中仍保留原來的空間
13.position的absolute與fixed區別
absolute浮動定位是相對于父級中設置position為relative或者absolute最近的父級元素
fixed浮動定位是相對于瀏覽器視窗的
lIE 8以下版本的瀏覽器中的盒模型有什么不同?
IE8以下瀏覽器的盒模型中定義的元素的寬高不包括內邊距和邊框