2013-04-08 135 views
2

我正在構建網絡分析工具來處理跟蹤click events and mouse movements,爲此,我不希望將數據發送到每個mouse moveclick的服務器,而是我計劃在本地保存並將數據發送到服務器會話超時或關閉瀏覽器或選項卡(關閉網站)。如何在本地存儲數據?

備註:大量數據將被本地存儲。

我知道一些可能的方法來在本地存儲數據。

1.LocalStorage: 
     Drawbacks: Domain Specific so i can't rely on this. 

2.Cookie 
    Drawbacks: 1.Analytics fails if cookie is disabled 
       2.Not possible to store large amount of data 
        (scenario: Every mouse movement 
         co-ordinates should be captured) 

我有兩個問題:

1.Whether數據存儲在本地是個好習慣(特別是與網絡分析)?

2.是否有任何其他可能的方式在本地存儲large amount(不能假設)數據?

+1

http://www.w3.org/TR/webstorage/ – mithunsatheesh 2013-04-08 09:55:11

+1

您使用的是什麼事件,onbeforeunload?你也應該讀一下這個。 http://stackoverflow.com/questions/138411/catching-a-tab-close-event-in-web-browser#answer-4319352 – gkiely 2013-04-08 10:00:56

回答

1

至少Safari和Chrome都有一個Web SQL數據庫API,因此您可以使用sqlite代替原始本地存儲。我發現一個好的article about sqlite usage in web browser

另一種選擇是將數據保持在內存中(並在達到特定大小時將其推送到服務器)。