zoukankan      html  css  js  c++  java
  • Web存储

    HTML5 web 存储,一个比cookie更好的本地存储方式。


    使用HTML5可以在本地存储用户的浏览数据。早些时候,本地存储使用的是cookies。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能.数据以 键/值 对存在, web网页的数据只允许该网页访问使用。Cookies从JavaScript出现之初就一直存在,所以在Web上存储数据并不是个新概念。不过Web存储是数据存储的一种更为强大的版本,可提 供更多的安全性、速度和易用性。在Web存储中还可以存储数量巨大的数据。具体的数量则取决于Web浏览器,但通常都在5MB到10MB之间,这对于一个 HTML应用程序而言已经足够大。另一个好处是此数据并不会在每次出现服务器请求时都被加载。惟一的限制是不能在浏览器之间分享Web存储, 如果您在Safari中存储了数据,那么该数据在Mozilla Firefox中是无法访问的。

    Web存储有两种方式:localStorage和sessionStorage两种方式

    localStorage对象:负责存储没有到期的数据。当Web页面或浏览器关闭时,仍会保持数据的存储,当然这还取决于为此用户的浏览器设置的存储量,存储的数据没有时间限制,第二天、第二周或下一年之后,数据依然可用。

    例子:

     1 <script>
     2 function clickCounter()
     3 {
     4 if(typeof(Storage)!=="undefined")
     5   {
     6   if (localStorage.clickcount)
     7     {
     8     localStorage.clickcount=Number(localStorage.clickcount)+1;
     9     }
    10   else
    11     {
    12     localStorage.clickcount=1;
    13     }
    14   document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s).";
    15   }
    16 else
    17   {
    18   document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
    19   }
    20 }
    21 </script>

    该例子是记录鼠标点击的次数的,可以长期的存储,即使关闭浏览器也不会的计数产生影响。

    sessionStorage对象:负责存储一个会话的数据。如果用户关闭了页面或浏览器,则会销毁数据。

    例子:

     1 <script>
     2 function clickCounter()
     3 {
     4 if(typeof(Storage)!=="undefined")
     5   {
     6   if (sessionStorage.clickcount)
     7     {
     8     sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;
     9     }
    10   else
    11     {
    12     sessionStorage.clickcount=1;
    13     }
    14   document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
    15   }
    16 else
    17   {
    18   document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
    19   }
    20 }
    21 </script>

    当用户关闭浏览器窗口后,数据会被删除。

    HTML5使用local storage存储的数据是如何保存在本地的?(我使用的是chrome浏览器,chrom浏览器是用sqlite来保存本地数据的)

    HTML5 的local storage 是通过浏览器在本地存储的数据。

    基本使用方法如下:

    1. <script type="text/javascript">  
    2. localStorage.firstName = "Tom";  
    3. alert(localStorage.firstName);  
    4. </script>  

    这样的话,就将数据保存到本地了,但是本地数据是以什么形式进行保存的呢,经过跟踪,发现在Chrome浏览器中,数据是以sqlite的数据库文件形式存储的。

    在windows下,是保存在C:Documents and SettingsUser NameLocal SettingsApplication DataGoogleChromeUser DataDefaultLocal Storage 路径(其中User Name是指当前的用户名)下的;

    在Mac下,是保存在/Users/User Name/Library/Application Support/Google/Chrome/Default/Local Storage路径(其中User Name是指当前的用户名)路径下的

    虽然后缀名是.localstorege 但是实际上就是sqlite的数据库文件,可以用sqlite打开,并看到其中的数据。(可以使用firefox的SQLite Manager附加组件打开)

    努力吧,为了媳妇儿,为了家。。。
  • 相关阅读:
    前端笔记7
    前端笔记6
    列表、行块元素
    我的学习方法(5)
    (读后摘抄)《计算机程序设计语言的发展》_王汝传
    电影《比利·林恩的中场战事》
    关于优化(1)
    Debug技巧(1)
    奇奇怪怪的东西(1)
    我的学习方法(4)
  • 原文地址:https://www.cnblogs.com/jlj9520/p/4859706.html
Copyright © 2011-2022 走看看