история.js перезагрузить страницу на кнопку назад

0

Я новичок в html5 и history.js, все еще пытаясь понять концепцию history.js. два вопроса здесь.

  1. history.js используется для изменения URL-адреса в адресной строке без обновления страницы? (например, используя хеш для манипулирования URL-адресом)

  2. Я сделал простой код, используя history.js(вот моя скрипка)

URL страницы 1 - http://mysite.com?id=1,2,3

когда нажата одна из кнопок ниже, код JS скроет кнопку, и он удалит идентификатор из URL-адреса и с помощью history.js изменит URL-адрес в адресной строке

<input type="button" value="delete id 1" data-remove-id="1" class="remove" />

<input type="button" value="delete id 2" data-remove-id="2" class="remove" />

<input type="button" value="delete id 3" data-remove-id="3" class="remove" />

вопрос в том, что когда я нажимаю кнопку "Назад", url изменяется правильно, но как я могу показать скрытую кнопку? или как обновить страницу? или я использую ajax? Какова наилучшая практика?

Теги:
html5-history
history.js

1 ответ

0
Лучший ответ
  1. Да, это позволяет вам сохранять текущую информацию о состоянии (если хотите) и вставлять текущий url в историю и загружать новый url в строку url. Он не перезагружает страницу. Предполагается, что вы делаете что-то с javascript (вызов AJAX или какой-либо другой код) на клиенте, который соответствует изменению URL.

  2. Ваша кнопка назад и history.js не отменит код JavaScript, который вы сделали. Вы должны использовать AJAX для перезагрузки страницы для этого предыдущего URL-адреса, который должен был прочитать скрытую кнопку. Таким образом, незначительный нюанс - нажатие кнопки "Назад" не отображает кнопку, вместо этого она воссоздает кнопку из исходного кода, который вы получаете от другого вызова AJAX.

Обновить:

Вы можете связать обработчик с событием window.onpopstate.

window.onpopstate = function(event) {
  // your code...
}
  • 0
    спасибо за объяснение, тоже думал об использовании ajax, но не был уверен, что это лучший способ. Теперь, как мне связать событие с кнопкой «Назад», чтобы я мог добавить в него вызов ajax?
  • 0
    обновление моего ответа ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню