#javascript #html
Вопрос:
Я разработал веб-приложение на HTML5. У меня есть две страницы, 1.html, и кнопка «Назад» в 2.html, которые запускают функцию window.history.back() для возврата к предыдущему URL-адресу(в моем случае откроется URL-адрес, соответствующий 1.html). Я создал некоторые javascript в 1.html чтобы переключить какой-либо скрытый элемент в стиль.дисплей = «блок». Но после того, как пользователь переключил скрытый элемент на отображаемый и вошел на следующую страницу(2.html), пользователь жалуется, что элемент отображения на предыдущей странице должен отображаться, когда он нажимает кнопку «Назад».
Как я мог бы добавить некоторый скрипт после метода window.history.back (), чтобы при его запуске на следующей странице мог отображаться элемент, отключенный пользователем на предыдущей странице?
1.html:
<button class="button" type="button" onclick="myFunction()">toggle out</button>
<div id="myDIV" style="display:none;">previously Hidden words</div>
function myFunction() {
var x = document.getElementById("myDIV");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
2.html:
<button class="button" onclick="goBack()">Back</button>
function goBack() {
window.history.back();
}
когда пользователь нажал кнопку «отключить» на странице 1, чтобы отобразить раздел «myDiv», а затем перейдите на страницу 2. Пользователь хочет увидеть отключенный раздел myDiv после нажатия кнопки «Назад» на странице 2.
Он считает, что кнопка «Назад» должна показывать точный статус страницы 1, когда он переходит на страницу 2
Комментарии:
1. Сохраните настройки в локальном хранилище / хранилище сеансов и загрузите их при загрузке страницы.
2. какое значение я должен сохранить в сеансе? Похоже, что только значение может быть сохранено с помощью sessionStorage.setItem, но я хочу сохранить статус отображения
3. Вы должны сохранить все изменяемые значения, в вашем примере сохраните значение
x.style.display
.4. почему этот элемент на предыдущей странице не был бы там после использования window.history.back();?
5. Потому что страница полностью перезагружена и инициализирована. Все элементы находятся в исходном состоянии.