Проблемы с WebStorage
Доброго дня всем, уважаемые Гуру! Подскажите советом. Начал делать себе планировщик задач. Хочу чтобы задачи сохранялись у меня на web странице. Изучаю функцию WebStorage и она у меня странно не отрабатывает, хотя ошибки вроде как быть не должно.
<div> <p>Добавь новую задачу!</p> <form> <input type="text" size="20" id="quiz2"> <input type="button" id="newTask" size="40" placeholder="Новая задача" value="Добавить задачу"> </form> </div> window.onload = init; function init() { var act2 = document.getElementById("newTask").onclick = addNewTask; //alert("step1"); loadMyTasks(); digitalWatch(); } function addNewTask() { var task1 = document.getElementById("quiz2"); task = task1.value ; if (task == ""){ alert("Сань, ну ты че кнопки то тычешь просто так? ;) "); } else { alert("Саня новая задача!: " + task); } var li = document.createElement("li"); li.innerHTML = task; var ol = document.getElementById("taskList"); ol.appendChild(li); save(task); } function save(part){ alert("Сохраняю!"); var taskListArray = getStoreArray("taskList"); taskListArray.push(part); //Я точно знаю что, вот тут не пашет почему то, но почему?! localStorage.setItem("taskList", JSON.stringify(taskListArray)); alert("Готово"); } function loadMyTasks(){ var taskListArray = getTasksArray(); var ol = document.getElementById("taskList"); if(taskListArray != null) { for (var i = 0; i < taskListArray.length; i++){ var li = document.createElement("li"); li.innerHTML = taskListArray[i]; ol.appendChild(li); } } } function getTasksArray(){ return getStoreArray("taskList"); } function getStoreArray(key){ var taskListArray = localStorage.getItem(key); if (taskListArray == "" || taskListArray == null){ taskListArray = new Array(); alert("создали"); } else { taskListArray = JSON.parse(taskListArray); } return taskListArray; } Подскажите почему функция не идёт дальше taskListArray.push(part); ?? |
Aleksandr Chirkov, много лишнего кода, по-моему.
Перед строкой 30 добавь эту строку и смотри что в консоль запишется: return console.log(taskListArray); Если запишется не массив, то у этого объекта метода push не будет. |
Действительно нет такой функции, лишний код.
Но смысл в том, что в консоли, я действительно увидел, что создавался не массив, поэтому push не отрабатывала, очистил Историю и кэш и все заработало как надо. СПАСИБО!:dance: А можно в таком случае ещё вопрос, допустим у меня есть сайт и я его выложил на хостинг, но обновляю в процессе работы, как мне сделать так, что б у пользователей он не сохранялся в кэш и при смене CSS или HTML, пользователь видел новый вариант сайта? |
Aleksandr Chirkov, html всегда загружается с сервера, а чтобы css всегда "свежий" загружался в конец пути подключаемого файла добавь строку «?123», где "123" - метка времени последней модификации этого файла.
<!-- Example: --> <link rel="stylesheet" href="/path/to/file.css?123123"> |
Часовой пояс GMT +3, время: 01:15. |