localStorage отсутствует на другой странице
Доброго времени суток!
Подскажите, пожалуйста, по какой причине может отсутствовать localStorage на других страницах? Пример: в списке товаров ID выделенных товаров добавляю в localStorage, перехожу в карточку товара, созданного ключа в localStorage нет :-? |
С сервера страницы берете или прямо с компа?
По любому, хотелось бы код, как записываете в память, как считываете. |
voraa, спасибо что откликнулись.
Делаю так: localStorage.setItem('activeFavoriteID', JSON.stringify(activeFavoriteID)); Получаю так (в списке товаров созданный ключ есть, а в самом товаре нет): var activeFavoriteID = JSON.parse(localStorage.getItem('activeFavoriteID')); |
Ответьте, откуда берутся страницы, с сервера или с локального компьютера?
Каким браузером тестируете? Если с локального, то в Файрфоксе такое возможно, если страницы находятся в разных каталогах. В любом случае в отладчике браузера можно посмотреть, что находится в локальном хранилище. |
Цитата:
Цитата:
Цитата:
Возможно ли что и в случае с сервером подобная проблема наблюдается в Файрфоксе? |
В случае сервера такое будет, если они в разных доменах. Но это касается всех браузеров.
|
Цитата:
Подскажите, пожалуйста, каким образом возможно проверить что обращение происходит к другому домену? В системе есть 2 сайта, но доработки ведутся в шаблоне необходимого сайта. |
var activeFavoriteID = JSON.parse(localStorage.getItem('activeFavoriteID')); В мозиле в консоли TypeError: activeFavoriteID is null В хроме ошибок нет. |
Цитата:
|
В консоли на странице списка товаров данные есть
|
Если они есть, то они будут на всех страницах этого домена.
|
Цитата:
console.log(document.domain) И посмотрите, одинаковое выводится или нет |
Цитата:
|
Цитата:
В адресной строке доменное имя одинаковое. |
Цитата:
Например страницы одна с http:sub1.company.org, другая с http:sub2.company.org могут изменить document.domain. document.domain = "company.org" И будут считаться, что они с одного домена |
Цитата:
Тут что то странное. Надо просто сидеть в отладчике и по шагам смотреть, куда, что записывается и когда, что меняется, или так var stor = localStorage.getItem('activeFavoriteID'); console.log(stor); var activeFavoriteID = JSON.parse(stor); console.log(activeFavoriteID); |
Адресная строка то не скрывает субдомен.
|
Походу проблема найдена.
В настройках соединения на вкладке "Разрешения" необходимо установитьпараметр "Устанавливать куки = Разрешить" До этого была отмечена галка "Настройка по умолчанию" и радиобаттон ни один не отмечен В таком случае функционал работает Странное поведение... |
Цитата:
Спасибо,попробую предложенным вариантом :yes: |
Цитата:
|
Цитата:
localStorage.setItem('activeFavoriteID', JSON.stringify(activeFavoriteID)); Потом, в какой то момент производится переход на страницу Товаров, где делается var activeFavoriteID = JSON.parse(localStorage.getItem('activeFavoriteID' )); Но сам этот оператор не может вызвать ошибку. Если, что не так, он просто запишет null в activeFavoriteID и все. Ошибка происходит где то в другом месте Надо смотреть, где. В консоле же пишется в какой строке это происходит и весь стек вызовов посмотреть можно |
Цитата:
Но в настройках разрешения смутило то, что стоит галка "По умолчанию", а в выборе ничего не указано. Ведь у других параметров настройки установлено "По умолчанию" и что-то выбрано. |
У вас какая версия FF? У меня их две, последние 64-битные, различие, это одна версия для разработчиков. Версия для разработчиков отличается своим "поведением" в некоторых вопросах, то есть может разрешать то, что в обычной версии будет запрещено. Что же касается зависимости куки/хранилище, то обе будут запрещать запись в хранилище если запрещены куки.
В этих версиях в настройках нет такого управления куками как в прежних, они включены. Можно посмотреть список доменов, которые в настоящее время имеют куки, и можно установить запрет на их установку для определенных доменов. |
Цитата:
Настройки в обоих браузерах одинаковые. Но вот на ноуте ошибок нет :blink: , в отличие от рабочего компа. В версии для разработчика всё работает. |
Произведена переустановка FF на рабочем компе - ошибок нет :blink:
Что это могло быть... даже представить трудно. |
Последняя версия Developer Edition, это версия 75.
|
Цитата:
Проблемы наблюдались в обычной версии FF 74.0 (64-битный). Причем на обоих компах установлена была одна и та же версия браузера, но только в браузере на рабочем компе ошибка возникала. Помогла переустановка FF |
Часовой пояс GMT +3, время: 08:17. |