У меня проблема с файлами 2 js и двумя html файлами main.html и log.html с одной кнопкой, которая перенаправляет на main.html и выдает предупреждение
JS File 1: У меня есть глобальная переменная
context= {};
и основной:
function main() { if (typeof context.active != 'undefined') alert(context.active); }
Файл JS 2:
У меня есть функция
function setActive() { context.active=true; window.location.href="main.html"; }
Когда я нажимаю на свою кнопку, она перенаправляет меня на main.html, но ничего не происходит (так это не определено). Я сделал несколько тестов, и кнопка работает. Почему это не обновление context.active?
Спасибо.
В тот момент, когда ваш браузер перенаправляет переменные Javascript, по существу стираются. Полная перезагрузка страницы (перенаправление) приводит к чистому сланцу.
Если вы пытаетесь сохранить данные на стороне клиента на разных загрузках страниц, вам придется использовать куки или хранилище сеансов.
document.cookie - ссылка
sessionStorage - ссылка
Каждый подход имеет свои плюсы и минусы, поэтому обязательно прочтите документы и проверьте поддержку этих API в браузерах, которые вы планируете поддерживать.
Попробуйте что-то в этом направлении, вам нужно проверить и учитывать определенные ситуации.
Файл JS 1:
context = {};
Основной HTML: (мы проверяем, что context.active был назначен. Вы получите неопределенное сообщение, если context.active не был назначен как свойство context
)
function main()
{
if (typeof context.active != 'undefined')
alert(context.active);
}
Файл JS 2:
function setActive() { context.active=true; }
setActive{}
?