2013-04-08 3 views
2

Я создаю инструменты для веб-аналитики, которые касаются отслеживания click events and mouse movements. Для этого я не хочу отправлять данные на сервер за каждые mouse move или click, вместо этого я планировал сохранить локально и отправить данные на сервер по адресу время сеанса или закрытие браузера или вкладки (закрытие веб-сайта).Как хранить данные локально?

Примечание: Большой объем данных хранится локально.

Я знаю несколько возможных способов хранения данных локально.

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

+1

Какое событие вы используете, onbeforeunload? вам, вероятно, следует это прочитать. http://stackoverflow.com/questions/138411/catching-a-tab-close-event-in-web-browser#answer-4319352 – gkiely

ответ

1

По крайней мере, Safari и Chrome имеют API базы данных Web SQL, поэтому вы сможете использовать sqlite вместо необработанного локального хранилища. Я нашел хороший article about sqlite usage in web browser.

Другой вариант - сохранить ваши данные прямо в памяти (и направить его на сервер при достижении определенного размера).

Смежные вопросы