При доступе к URL-адресу выполняется JavaScript

Я закодировал HTML-страницу, используя jQuery для загрузки контента. Теперь, если я хочу сделать прямую ссылку на подменю, возможно ли это сделать с помощью JavaScript?

Так, например, если кто-то заходит на www.mydomain.com/submenu1/, то какой-то код JavaScript будет выполняться и загружать необходимое содержимое?

Большое спасибо :)

Можно ли это реализовать с помощью htaccess?


person johnlikesit    schedule 15.09.2009    source источник
comment
Краткий ответ да; длинный ответ, вам нужно объяснить, что вы, что более подробно.   -  person ijw    schedule 15.09.2009
comment
моя страница загружает контент с помощью jquery ajax load(). Итак, у меня есть индексная страница с контейнером div, в который все содержимое загружается из внешнего файла. Если я хочу перейти непосредственно в один пункт меню, мне нужно вызвать функцию js для загрузки содержимого. И я хочу перейти непосредственно к пункту меню, обратившись к нему через www.mydomain.com/submenu1 (например) :)   -  person johnlikesit    schedule 15.09.2009


Ответы (1)


Скорее всего, вы захотите иметь структуру URL-адресов, которая требует, чтобы страница загружалась с сервера только один раз, а затем сервер запрашивается только JavaScript XMLHttpRequests. Загрузка контента на основе «жесткого» URL-адреса была бы бессмысленной, поскольку вы все равно выполняете запрос к серверу и можете также вернуть контент в ответ.

Чтобы сохранить уникальные адреса, сохраняя при этом «жесткий» URL-адрес одинаковым (предотвращая множественные запросы к серверу), вы можете использовать хэш/якорную часть URL-адреса. Это означает, что ваш адрес может выглядеть примерно так: http://www.example.com/#/submenu1/

Часть #/submenu1/ остается на клиенте, поэтому запрашивается только / на www.example.com. Затем ваш JavaScript должен загрузить контент, относящийся к /submenu1/. См. пример на моей странице: http://blixt.org/js#project/hash?view=code

Также взгляните на этот вопрос: Сохранение истории изменений хэша/привязки в JavaScript

person Blixt    schedule 15.09.2009
comment
я не особо вникаю в это. не могли бы вы объяснить мне, как включить это на другую страницу? - person johnlikesit; 15.09.2009