Javascript: есть ли что-то вроде sessionStorage или localStorage только для одной страницы? - PullRequest
0 голосов
/ 04 ноября 2019

В настоящее время я работаю над сайтом, использующим ASP.NET MVC и HTML / JavaScript. На этом веб-сайте у меня есть страница с формой данных, которая содержит несколько текстовых полей, комбинированные списки, средства выбора даты и времени (некоторые из них из расширения пользовательского интерфейса jQuery), где пользователь может вводить данные.

Теперь яесть требование, чтобы введенные данные не терялись при обновлении страницы, так как в настоящее время все поля формы становятся пустыми при обновлении страницы.

Я уже реализовал решение, которое хранит все, что пользователь вводит вsessionStorage и восстанавливает его, когда пользователь обновляет страницу. Однако sessionStorage не идеален для этой цели, потому что данные даже будут восстановлены, когда пользователь перейдет на совершенно другую страницу на веб-сайте, а затем вернется на страницу, содержащую форму данных.

Есть лилюбой способ хранить данные с помощью JavaScript, который работает так же, как sessionStorage (или localStorage), но автоматически очищается, когда пользователь переходит на другую страницу? Если нет, то есть ли хотя бы простой способ, как можно вручную очистить sessionStorage, когда пользователь переходит на другую страницу?

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

Эта функция будет вызываться при изменении URL.

$(window).bind('hashchange', function() {
 // reset the data
});
0 голосов
/ 04 ноября 2019

Вы можете обработать событие готовности документа на странице макета, а затем проверить его по URL страницы.

<script>

    $(document).ready(function () {
        if (window.location.href != 'your url') {
            // reset all data
        }
        else {
            // restore data from local storage
        }
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...