2013-04-08 106 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

另一种选择是将数据保持在内存中(并在达到特定大小时将其推送到服务器)。