Итак, я довольно новичок в JavaScript, и мне бы очень хотелось, чтобы этот код работал. Я просмотрел несколько других сообщений, рассказывающих о хранилище сеансов, а также о операторах if/else и по-прежнему не могу понять.Ошибка хранения сеанса JavaScript на другой странице
У меня есть страница, позволяет называть ее страницей 1 и имеет 3 ссылки, «красный», «зеленый» и «синий».
При нажатии на любом из этих ссылок его функция устанавливает переменную для хранения сессии «colorVar» к цвету выбранного и затем перенаправляет на страницу под названием страница 2.
Как страница 2 нагрузок window.onload действие используется для запуска функции в соответствии с переменной, установленной на стр. 1. В этом случае функция, которая начинается на стр. 2, просто отображает «Ваш цвет ____!».
Heres код:
<!-- [This is Page 1] -->
<a href="Page2.html" onclick="colorRed()">Set color to red</a>
<a href="Page2.html" onclick="colorBlue()">Set color to blue</a>
<a href="Page2.html" onclick="colorGreen()">Set color to green</a>
<script>
function colorRed() {
sessionStorage.setItem("colorVar", "red");
}
function colorBlue() {
sessionStorage.setItem("colorVar", "blue");
}
function colorGreen() {
sessionStorage.setItem("colorVar", "green");
}
</script>
<!-- [This is Page 2] -->
<script>
window.onload = sessionStorage.colorVar + 'Write()';
function redWrite() {
document.write("Your color is red!")
}
function blueWrite() {
document.write("Your color is blue!")
}
function greenWrite() {
document.write("Your color is green!")
}
</script>
Открытие страницы в новой вкладке или окне приведет к запуску нового сеанса. См. Больше на странице https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage –
Хмм, не будет ли сеансовое хранилище работать, если «Страница 2» открыта на той же вкладке, , или это также вызывает запуск нового сеанса? – John
Это не сработает. Вы должны использовать локальное хранилище. –