Я создал веб-сайт, используя только один html файл и функции css + jquery для загрузки div-страниц в качестве вспомогательных страниц без перегрузки страницы. Дело в том, что я не могу управлять загрузкой другого div, чем #home, когда я отправляю кому-то ссылку.
Например, если я хочу, чтобы вы увидели подстраницу под названием "Предложение", я могу просто отправить вам ссылку www.page.com/index.html#offer
но это решение не работает из-за этой функции:
window.location.replace("index.html#home");
и он всегда загружает #home div, даже если у меня есть указанная ссылка с отличным именем div в ссылке.
Как я могу это исправить?
Пытаться
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! (Я не понимаю, почему вы не можете просто делать эти отдельные страницы, это было бы лучше)
id
(надеюсь)