windows.location.replace всегда перенаправлять, добавить IF

0

Я создал веб-сайт, используя только один html файл и функции css + jquery для загрузки div-страниц в качестве вспомогательных страниц без перегрузки страницы. Дело в том, что я не могу управлять загрузкой другого div, чем #home, когда я отправляю кому-то ссылку.

Например, если я хочу, чтобы вы увидели подстраницу под названием "Предложение", я могу просто отправить вам ссылку www.page.com/index.html#offer

но это решение не работает из-за этой функции:

window.location.replace("index.html#home");

и он всегда загружает #home div, даже если у меня есть указанная ссылка с отличным именем div в ссылке.

Как я могу это исправить?

Теги:

1 ответ

1

Пытаться

if (window.location.hash === "") {
    window.location.hash = "home"
}

Это установит хэш (часть после #) на home если его там нет, но сохраните его, если он будет указан вручную. Поэтому example.com/index.html станет example.com/index.html#home, но example.com/index.html#offer останется прежним.

Предупреждение. Если вы используете этот метод, пользователи с отключенным JavaScript не смогут увидеть вашу страницу. Не забудьте предоставить альтернативу без JS! (Я не понимаю, почему вы не можете просто делать эти отдельные страницы, это было бы лучше)

  • 0
    Мне всегда интересно, почему даже «опытные» пользователи просто отвечают на каждый вопрос, даже не указывая спрашивающему, насколько бессмысленным является его намерение!
  • 0
    @Net Я предполагаю, что ОП использует хэши как переходы к элементам с определенным id (надеюсь)
Показать ещё 3 комментария

Ещё вопросы

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