onhashchange перезагружает страницу?

#javascript #ajax #html

#javascript #ajax #HTML

Вопрос:

Это правильно? Я думал, это было просто событие, которое сработало при обновлении страницы. Я сделал базовый, document.write и делал i всякий раз, когда запускался onhashchange, но он всегда равен 0, и я теряю все мои другие переменные и прочее. Я также попытался вернуть false, но ничего.

Я делаю это неправильно? Или предполагается, что onhashchange сбросит страницу? Если да, можете ли вы остановить это, но все равно запустить обратный вызов?

Ответ №1:

Нет onHashChange просто срабатывает всякий раз, когда изменяется # часть URL-адреса, это только на стороне клиента, и страница не должна перезагружаться при этом. document.write однако может привести к блокировке ваших глобальных переменных.

Если вам нужна дополнительная помощь, нам понадобится больше для продолжения.

Ответ №2:

Похоже, проблема в том, что веб-инспектор сильно глючит из-за этого. Например, несколько console.log() в onhashchange перезаписывают один и тот же console.log(). Кроме того, я заметил, что иногда консоль просто становится полностью пустой при смене страниц. Я обнаружил, что это ошибка, когда я установил таймер на странице и заметил, что таймер увеличивается, но консоль показывала пустоту или дезинформацию.