Проблемы с 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, время: 02:34. |