Проверьте, присутствует ли хеш, если нет, добавьте хэш

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

if(window.location.hash == ''){
window.location = $("#home").attr('href');
}

Этот код фактически перенаправляет сайт на http://www.sitename.com/undefined. Это страница с ошибкой 404

Я раскалываю голову о том, почему, и я просто не могу понять.

Код для "домашнего" раздела:

<div>
 <section id="home">
 <div>
 <div id="logo">
 
 </div>
 </div>
 </section>
</div>

Сайт использует CSS, чтобы создать иллюзию анимированных панелей, все 4 панели выталкиваются за пределы полей сайта, и когда panel:target она отображается. Извините, если это не имеет смысла.

1 ответ

Установите хеш с помощью location.hash:

if(window.location.hash == ''){
 location.hash = '#yourhash';
}

Причина, по которой вы перенаправляетесь странно, состоит в том, что $("#home") не существует и поэтому не определен.

licensed under cc by-sa 3.0 with attribution.