Как убрать значение из localStorage после перезагрузки?

305
09 ноября 2017, 07:34

Нужно построить такой алгоритм:

1) В поисковый запрос ввожу текст,
2) Нажимаю Поиск,
3) Страница перезагружается,
4) Введенный текст сохраняется там же в строке поиска.
5) При последующей перезагрузке страницы, введенный текст удаляется

Сохраняю в localStorage (возможно это неправильно, т.к. данные не нужно долго хранить).

1) Как убрать введенный текст при следующей перезагрузке?
2) С помощью чего лучше реализовать?

Использую этот плагин для автокомплита, т.ч. код выглядит просто:

$(function(){
    $('input[name="art"]').autoComplete({
        minChars: 4,
        source: function(term, response) {
            //формирую выдачу
        renderItem: function (item, search){
            // оформляю выпадающие подсказки
        onSelect: function(e, term, item){
            // Что происходит при клике (тут вся магия)
            $('.search .inp #art').val(item.data('detail'));
            localStorage.setItem('searchable', item.data('detail'));
            document.location.href = "http://example.com/items/" + item.data('brand') + "/" + item.data('id') + ".html";
        }
    });
});
Answer 1

так же можно почистить полностью хранилище их консоли

localStorage - localSrotage.clear()

Другие хранилища где данные хрянятся не так долго sessionStorage(хранится до закрытия вкладки) - sessionSrotage.clear() cookies - document.cookies = ''

Answer 2

На странице товара (example.com/items/brand/id.html) вы должны проверить наличие значения в храилище. Если оно есть, то вписать его в поисковую строку и затем удалить его.

$(function(){
   var search = localStorage.getItem('searchable');
   if(search){
      $(".search .inp #art").val(search);
      localStorage.removeItem('searchable');
   } 
});

тогда при следующем обновлении страницы в хранилище уже не будет данного ключа.

READ ALSO
Зачем angular выдаёт такую ошибку?

Зачем angular выдаёт такую ошибку?

Похоже на то, что это бага смэто и это

317
Как использовать функцию alert в JavaScript из Java servlet?

Как использовать функцию alert в JavaScript из Java servlet?

Есть сервлет из которого делаю redirect на другой html

297
Проблема с jQuery .parent()

Проблема с jQuery .parent()

Добрый День! На данный момент jQuery работает только с таблицей где находится "GroupName 1", которая находится за пределами div

254
Как сделать самому scroll hijacking?

Как сделать самому scroll hijacking?

Добрый день, подскажите пожалуйста, как правильно реализовать scroll hijacking, как на этом сайте https://neematiccom ? Нашел кучу плагинов, но хотелось бы понять...

198