Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Работа с LocalStorage (https://javascript.ru/forum/offtopic/67718-rabota-s-localstorage.html)

otwebsafe 04.03.2017 18:03

Работа с LocalStorage
 
Здравствуйте!
Пишу функцию для работы с LocalStorage (для себя, дынных не много).
Возникает ошибка. Прошу не готовый код, просто подскажите куда смотреть).
Вот html:
Код:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="main.js" before></script>
    <title>JS Testing job table</title>
</head>
<body>
<input type="text" value="id_discussion" id="id_discussion">
<input type="text" value="comment" id="comment">
<input type="submit" onclick="AutoStartAndAdd('set_add');" value="Add">
<table  id="table1">
    <tr id="tr11">
        <td>Id обсуждения</td>
        <td>Комментраий</td>
        <td>Кол-во записей</td>
        <td>% изменения</td>
    </tr>
</table>
</body>
</html>

Вот JS:
document.addEventListener("DOMContentLoaded", AutoStartAndAdd('set_load')); // обрабочик полной загрузки страницы
// 1. сделать единую функцию для загрузки страницы и добавления.
// 2. Сделать удаление выбранных строк
// 3. Авто-Вставка ссылок на обсуждения
// 4. Получение token ключа / или как получить вечный ключ
// 5. Получение количества комментариев в ветке обсуждения.
// 6. Сохранение последнего полученного количества комментариев в ветке обсуждения
// 7. Вычисление изменения в процентном соотношении за указанный период
// 8. Оформить все красиво -- пока все :)


// Выполение 1 пункта - единая функция для загрузки страницы и добавления.

function AutoStartAndAdd(Set) { // с помощью set мы понимаем тип операции: добавление, удаление, или первоначальная загрузка.
    // добавление set_add
    if (Set == 'set_add') {
        // добавляем в балицу и локальное хранилище.
        var tbody = document.getElementById('table1').getElementsByTagName("TBODY")[0];
        var row = document.createElement("TR");
        var td1 = document.createElement("TD");
        td1.appendChild(document.createTextNode(document.getElementById("id_discussion").value));
        var td2 = document.createElement("TD");
        td2.appendChild(document.createTextNode(document.getElementById("comment").value));
        row.appendChild(td1);
        row.appendChild(td2);
        tbody.appendChild(row);

        try {
            // сохраняем данные в локальное хранилище.
            localStorage.setItem(document.getElementById("id_discussion").value, document.getElementById("comment").value);
        } catch (e) { // проверка на достижение максимального лемита, получаем сообщение о превышении допустимого размера хранилища (5мб)
            if (e == QUOTA_EXCEEDED_ERR) {
                alert('Превышен лимит');
            }
        }
    }
    else if (Set == 'set_load') {
        for (var i = 0; i < localStorage.length; i++) {
            var tbody = document.getElementById('table1').getElementsByTagName("TBODY")[0];
            var row = document.createElement("TR");
            var td1 = document.createElement("TD");
            td1.appendChild(document.createTextNode(localStorage.key(i)));
            var td2 = document.createElement("TD");
            td2.appendChild(document.createTextNode(localStorage.getItem(localStorage.key(i))));
            row.appendChild(td1);
            row.appendChild(td2);
            tbody.appendChild(row);
        }
    }
    else if (Set == 'set_edit') {
        // редактируем, удалем и т.д.
    }
}

рони 04.03.2017 18:21

Цитата:

Сообщение от otwebsafe
// обрабочик полной загрузки страницы

где обработчик?

otwebsafe 04.03.2017 18:32

document.addEventListener("DOMContentLoaded", AutoStartAndAdd('set_load'));


))

otwebsafe 04.03.2017 18:34

То есть я делал по этому примеру:
<script>
  function ready() {
    alert( 'DOM готов' );
    alert( "Размеры картинки: " + img.offsetWidth + "x" + img.offsetHeight );
  }

  document.addEventListener("DOMContentLoaded", ready);
</script>

<img id="img" src="https://js.cx/clipart/yozhik.jpg?speed=1">

otwebsafe 04.03.2017 18:36

нашел вот это сейчас:
<script>
  window.onload = function() {
    alert( 'Документ и все ресурсы загружены' );
  };
</script>
<iframe src="https://example.com/" style="height:60px"></iframe>
<img src="https://js.cx/clipart/yozhik.jpg?speed=1">

рони 04.03.2017 19:00

otwebsafe,
document.addEventListener("DOMContentLoaded", function() {
  AutoStartAndAdd('set_load')
});

otwebsafe 04.03.2017 19:09

Цитата:

Сообщение от рони (Сообщение 446329)
otwebsafe,
document.addEventListener("DOMContentLoaded", function() {
  AutoStartAndAdd('set_load')
});

Благодарю!


Часовой пояс GMT +3, время: 06:17.