iOS開發和localStorage/sessionStorage

來源:互聯網
上載者:User

標籤:

一、前言

  在近期的工作中,有前端同學告訴我要清除localStorage,我當時對localStorage完全沒有概念,所以就在w3c看了一下相關的內容,下面簡單的介紹一下。算是對iOS開發人員普及H5的一些常識吧,高手請直接忽略。

二、localStorage && sessionStorage

  在HTML5中,為了在用戶端儲存資料,HTML提供了兩種在用戶端儲存資料的新方法:

  * localStorage:沒有時間限制的資料存放區。

  * sessionStorage:針對一個session的資料存放區,也就是重新開啟頁面sessionStorage失效。

  在之前,都是用cookie來完成的,但是cookie不適合大量的資料存放區,因為他們由每個對伺服器的請求來傳遞,所以速度慢效率也不高。在HTML5中,使用JavaScript來訪問和儲存資料。

1、localStorage

  localStorage儲存的資料沒有時間限制。只要不被清理會一直存在。下面簡單介紹一下相關方法以及使用。

  ①、判斷瀏覽器是否支援localStorage。

    我們只需要書寫如下代碼,然後在瀏覽器開啟網頁即可:

<!DOCTYPE html><html><head>    <title>LocalStorage</title>    <meta charset="utf-8"></head><body>    <script type="text/javascript">        if (window.localStorage) {            alert("瀏覽器支援localStorage");        }else {            alert("瀏覽器不支援localStorage");        }    </script></body></html>

  ②、localStorage儲存執行個體

<!DOCTYPE html><html><head>    <title>LocalStorage</title>    <meta charset="utf-8"></head><body>    <script type="text/javascript">        if (localStorage.requestcout) {            localStorage.requestcout = Number(localStorage.requestcout)+1;        }else {            localStorage.requestcout = 1;        }        document.write("(這裡是重新整理就算一次訪問頁面)本網頁的訪問量是:"+localStorage.requestcout+"次");    </script></body></html>

現在直接在瀏覽器開啟該html頁面。然後重新整理,結果如下:

這裡面我重新整理了13次,然後結果是13次。當我關閉剛才的網頁再次開啟的時候,結果如下:

可以看出,瀏覽器儲存了原來的次數開啟控制台可以看到:

  ③、儲存/訪問localStorage

   

localStorage.setItem("name","zhanggui");localStorage["name"] = "zhanggui";var valure = localStorage.getItem("name");var valure = localStorage["name"];

 

  它的儲存類似於iOS中的字典。這樣就可以將name這個key存入value:zhanggui,然後取出。

  ④、清除localStorage

 

localStorage.removeItem("name"); //根據key值清空某個localStoragelocalStorage.clear();   //這裡是講所有的localStorage清空

 

2、sessionStorage

  sessionStorage和localStorage的操作差不多。唯一的區別就是localStorage每次開啟頁面還會存在,而sessionStorage每次開啟頁面都會初始化。就像剛才統計訪問頁面次數:

  如果用sessionStorage來儲存,那麼下次開啟頁面他的訪問次數是1,而不是累加上次請求次數。

三、iOS對localStorage && sessionStorage的支援

  直接寫了一個storage.html來進行測試。代碼在這裡:

這裡進行了測試,結果是支援localStorage。具體可以參見代碼。當我第一次開啟的時候,運行結果如下:

當我重新開啟該應用的時候,結果如下:

當我把整個項目刪除重新安裝,結果又是1次。

其中清空localStorage的方式如下:

 [self.contentWebView stringByEvaluatingJavaScriptFromString:@"localStorage.clear()"];

這樣就可以清空localStorage。

  sessionStorage就不在多介紹了,讀者可以自行測試。

四、結語

  簡單就介紹這麼多了。希望對iOS開發人員有協助。

 

iOS開發和localStorage/sessionStorage

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.