本地儲存由來的背景
由於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>