本地儲存由來的背景LOGIN

本地儲存由來的背景

由於HTML4時代Cookie的大小、格式、儲存資料格式等限制,網站應用如果想在瀏覽器端儲存使用者的部分信息,那麼只能藉助於Cookie。但是Cookie的這些限制,也就導致了Cookie只能儲存一些ID之類的識別碼等簡單的資料。

以下是Cookie的限制:

大多數瀏覽器支援最大為 4096 位元組的 Cookie。

瀏覽器也會限制網站可以在使用者電腦上儲存的 Cookie 的數量。大多數瀏覽器只允許每個網站儲存 20 個Cookie;如果嘗試儲存更多 Cookie,則最舊的 Cookie 便會被丟棄。

有些瀏覽器也會對它們將接受的來自所有網站的 Cookie 總數作出絕對限制,通常為 300 個。

Cookie預設都會隨著Http請求發送到後台伺服器,但並不是所有請求都需要Cookie的,例如:js、css、圖片等請求則不需要Cookie。

為了破解Cookie的一系列限制,HTML5透過JS的新的API就能直接儲存大量的資料到客戶端瀏覽器,而且支援複雜的本地資料庫,讓JS更有效率。 HTML5支援兩種的WebStorage:

永久性的本機儲存(localStorage)

會話層級的本機儲存(sessionStorage)

#偵測是否支援localStorage:######
<!DOCTYPE html>
<html>
<head> 
    <meta charset="utf-8"> 
    <title>php中文网</title> 
</head>
<body>
<div id="result"></div>
<script>
    if(window.localStorage){     alert("浏览支持localStorage") }else{    alert("浏览暂不支持localStorage") } //或者 if(typeof window.localStorage == 'undefined'){ alert("浏览暂不支持localStorage") }
</script>
</body>
</html>
下一節
<!DOCTYPE html> <html> <head>  <meta charset="utf-8">  <title>php中文网</title>  </head> <body> <div id="result"></div> <script> if(window.localStorage){ alert("浏览支持localStorage") }else{ alert("浏览暂不支持localStorage") } //或者 if(typeof window.localStorage == 'undefined'){ alert("浏览暂不支持localStorage") } </script> </body> </html>
章節課件