2014-01-24 6 views
-2

У меня есть функция, в которой пользователь может проголосовать за список элементов. При нажатие на кнопки голосования я установить объект LocalStorage как этотпроверить localStorage в javascript

localStorage['vote' + id] = 'true'; 

Когда пользователь заходит на страницу снова хотят, чтобы проверить, может ли он голосовать или нет. например. если он уже проголосовал, как только я хочу скрыть кнопку голосования или что-то в этом роде. Прямо сейчас у меня есть эта проверка в функции щелчка для голосования. Но я хочу выполнить проверку как можно скорее, когда пользователь посещает сайт.

Кто-нибудь знает, как это сделать?

В моем клике проверка выглядит так. Но я хочу сделать чек в первую очередь, когда откроется сайт.

 if(localStorage['vote' + id] == 'true') { 
      $(container).find("span").html("already voted") 
      return; 
     } 
+0

Так почему бы вам не проверить это на $ (document) .ready(); ? –

ответ

0

Просто поместите:

if (localStorage['vote' + id] == 'true') { 
    // Don't let them vote 
} 

... код в теге сценария в конце HTML (как раз перед </body> тега). (Это where your script tags should be in general anyway.) Тогда вы узнаете, что контейнер существует, и вы можете обновить диапазон.

т.д .:

<!doctype html> 
<html> 
<!-- ...the usual header stuff ... --> 
<body> 
<!-- ...your body content... --> 
<script src="/path/to/your/script.js"></script> 
</body> 
</html> 

... где проверка существует в соответствующем файле сценария. (Или вы можете поставить скрипт inline, coruse.)

+0

Спасибо. Но когда я делаю это, идентификатор становится неопределенным. Этот код запускается в собственном js-файле с помощью init(), render() и т. Д. И идентификатор устанавливается по клику. Я хочу, чтобы tp проверял этот id в init(). – user3122094

+0

@ user3122094: Ну да, очевидно, вам нужно убедиться, что вы правильно устанавливаете 'id'. Если 'id' - значение для всей страницы, это нормально. Если это зависит от каждого вопроса, вам понадобится цикл. –

+0

Да, я становлюсь. Мне просто не удается получить его в mi init. Как это будет сделано? я могу зациклировать его в init или как вы это понимаете? – user3122094

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