Обновить страницу при изменении хэша
Обновить страницу при изменении хэша.
У меня есть простой одностраничный сайт с несколькими "страницами" на нем. Эти страницы находятся в одном широком контейнере, который прокручивается, когда вы его выбираете. Я добавил хэш в URL-адрес, чтобы вы могли напрямую найти конкретные страницы. Это просто устанавливает атрибут style.left, когда он соответствует хешу в инструкции switch.
Проблема заключается в том, что когда я изменяю значение хэша в URL-адресе. Например, изменив его из Home.html # Web в Home.html # Фото. При этом страница не перезагружается, поэтому функция установки, которую я создал, которая проверяет хэш, не вызывается, а страница остается там, где она есть.
Любые идеи для способа перезагрузки страницы? Или лучшее решение?
Спасибо,
Andy
Ответы
Ответ 1
Не перезагружайте страницу. Вместо этого настройте обработчик событий onhashchange
и отредактируйте левое значение оттуда:
window.onhashchange = function() {
// do stuff
}
В противном случае, зачем использовать хеш-ссылки вместо обычных ссылок? В любом случае, если вы действительно хотите перезагрузить, просто поместите window.location.reload()
внутри обработчика onhashchange
...
Ответ 2
У меня была функция JQuery, запущенная на $('body'). on ('click', '.subcategory-link', function() {}); который обнаружил, что в моем случае был добавлен хэш, добавленный к URL-адресу, поэтому я сохранил эту функцию одинаково, а затем просто использовал перезагрузку при каждом изменении хэша:
ниже, я пишу код PLS, попробуйте этот, который он wrok от меня очарования.
$(document).ready(function() {
$('body').on('click', '.subcategory-link', function () { var data = $(this).attr('href');
alert($(this).attr('href'));
window.location.reload();
});
});