2016-05-18 6 views
-1

Я пытаюсь написать простую функцию, которая проверяет длину localstorage, если она равна 0, undefined или null, я хотел бы, чтобы пользователь увидел всплывающее сообщение, так как это означает, что они являются посетителями в первый раз или показывают им кнопку для запуска сообщения, если они были ранее.Если localstorage пусто показать сообщение приветствия

Однако я даже не могу заставить браузер сообщить мне, какое значение передается в localstorage.

Вот мой код:

function local() { 
var storageLocal = window.localStorage.length; 

if (storageLocal !== 0 && storageLocal === undefined && storageLocal === null){ 

document.getElementById('message').style.cssText = 'display: block'; 

} 

else { 
document.getElementById('button').style.cssText = 'display: block'; 
} 

} 

Вот мой CSS:

#message, #button {display: none;} 

HTML:

<div id="message">MESSAGE</div> 

<div id="button">BUTTON</div> 

Пожалуйста, дайте мне знать, если есть более простой способ сделать это , Я внедряю программу CMS и поэтому не могу использовать «append to» jquery.

+1

Вы определили вашу функцию 'local', но где его называют? –

+0

Вы не используете методы для этого. Когда вы используете localStorage, вам нужно передать пару ключ/значение, чтобы что-то сохранить. Ваш код проверяет, доступен ли localStorage, но нет, если он заполнен данными. –

+0

'localStorage.length' никогда не будет' undefined' или 'null'. –

ответ

0

Основываясь на моем понимании, я нахожу проблему в вашем состоянии.

window.localStorage.length вернет номер. Следовательно, вы должны только проверять номер. Кроме того, вы хотите показать сообщение в случае, если длина равна 0, следовательно, вам нужно проверить равенство.

Следовательно, вам нужно обновить ваше состояние

из

if (storageLocal !== 0 && storageLocal === undefined && storageLocal === null){ 

в

if (storageLocal === 0){ 
Смежные вопросы