Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283

Local storage

11.04.2018, 09:40. Показов 1873. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Данный код работает правильно и при перезагрузке фоновый цвет остается.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
window.onload = function (){
    if (localStorage.getItem ('bgcolor')!==null) {
        var color = localStorage.getItem ("bgcolor");
        document.getElementsByTagName ("body")[0].style.backgroundColor = color;
    }
    document.getElementById ("green").onclick = function () {
        document.getElementsByTagName ("body")[0].style.backgroundColor = "green";
        localStorage.setItem ('bgcolor','green');
    }
    document.getElementById ("red").onclick = function () {
        document.getElementsByTagName ("body")[0].style.backgroundColor = "red";
        localStorage.setItem ('bgcolor','red');
    }
}
Для изображения данный метод работает некорректно и после перезагрузки оно исчезает. От чего так? Как исправить?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
window.onload = function (){
    var body = document.getElementsByTagName ("body");
    var mass = ['url(if_icon-arrow-down.png)','url(if_icon-arrow-top-b_211614.png)'];
    console.log (localStorage.getItem ("bgimage"));
    if (localStorage.getItem('bgimage') !== null) {
        var color = localStorage.getItem ('bgimage');
        body[0].style.backgroundImage = color;
    }
    document.getElementById ("first").onclick = function () {
        body[0].style.backgroundImage = mass[0];
        localStorage.setItem ('bgimage','first');
    }
    document.getElementById ("second").onclick = function () {
        body[0].style.backgroundImage = mass[1];
        localStorage.setItem ('bgimage','second');
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.04.2018, 09:40
Ответы с готовыми решениями:

Работа с асинхронным chrome.storage.local.get
практикуюсь в создании расширения для google chrome есть код для popup.js: chrome.storage.local.set({"value1":...

Local storage
Доброго времени суток. Недавно появился реквест относительно меню моего сайта. Суть такова: имеется индекс страничка с 2-мя фреймами - меню...

Not allowed to load local resource
Доброго дня! Пытаюсь по клику на иконку воспроизвести MP3 файл. Браузеры пробовал Хром и Яндекс, не получается. В консоли вижу ошибки ...

3
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
11.04.2018, 14:04
Лучший ответ Сообщение было отмечено Aleksandrw как решение

Решение

Aleksandrw, песочница
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var body = document.getElementsByTagName ("body");
    var mass = ['url(https://dummyimage.com/600x400/999999/000000.png)','url(https://dummyimage.com/600x400/000000/ffffff.png)'];
    console.log (localStorage.getItem ("bgimage"));
    if (localStorage.getItem('bgimage') !== null) {
        var color = localStorage.getItem ('bgimage');
        body[0].style.backgroundImage = color;
    }
    document.getElementById ("first").onclick = function () {
        body[0].style.backgroundImage = mass[0];
        localStorage.setItem ('bgimage',mass[0]);
    }
    document.getElementById ("second").onclick = function () {
        body[0].style.backgroundImage = mass[1];
        localStorage.setItem ('bgimage',mass[1]);
    }
Добавлено через 5 минут
Сократим код маненько
JavaScript
1
2
3
4
5
6
7
8
9
10
var mass=['url(https://dummyimage.com/600x400/999999/000000.png)','url(https://dummyimage.com/600x400/000000/ffffff.png)'];
    if (localStorage.getItem('bgimage') !== null) document.body.style.backgroundImage = localStorage.getItem ('bgimage');
    first.onclick = function () {
        document.body.style.backgroundImage = mass[0];
        localStorage.setItem ('bgimage',mass[0]);
    }
    second.onclick = function () {
        document.body.style.backgroundImage = mass[1];
        localStorage.setItem ('bgimage',mass[1]);
    }
Добавлено через 20 минут
А при такой верстке
HTML5
1
<img id="first" src="https://dummyimage.com/600x400/999999/000000.png"/><img id="second" src="https://dummyimage.com/600x400/000000/ffffff.png"/>
Можно сократить код еще немножк, а заодно избавиться от id
JavaScript
1
2
3
4
5
6
7
if (localStorage.getItem('bgimage')!== null) document.body.style.backgroundImage = localStorage.getItem ('bgimage');
document.body.onclick = function (e) {
  if(e.target.tagName == 'IMG'){
    document.body.style.backgroundImage="url("+e.target.src+")";
    localStorage.setItem ('bgimage',document.body.style.backgroundImage);
  }  
}
0
39 / 38 / 26
Регистрация: 05.01.2018
Сообщений: 283
11.04.2018, 14:38  [ТС]
Qwerty_Wasd, благодарю
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
11.04.2018, 14:55
Aleksandrw, не за что, хорошего кода
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.04.2018, 14:55
Помогаю со студенческими работами здесь

Local Storage
Пример: есть интернет-магазин, без регистрации. Добавляем товары в корзину. Смотрим в веб-консили - сессий нет, куи нет. Есть только Local...

Thread Local Storage
Всем доброго времени суток! Интересно, кто-нибудь применял TLS в жизни? Мне хотелось бы узнать в какой ситуации и какие преимущества это...

Хранение записей в local storage
Добрый день! Подскадите пожалуйста. Как применить local storage в данном случае? index.html &lt;!DOCTYPE html&gt; &lt;html...

Перенос данных из Thread Local storage
Добрый вечер. Допустим в одной c++ библиотеке (Func1(...), Func2(...)) используется TLS. В Func1(...) TLS устанавливается, в...

Сохранение состояния чекбоксов в Local Storage
Помогите решить проблему . Нужно записать данные в Local Storage по отмеченным чекбоксам. $(document).on('turbolinks:load', function()...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru