Просто попадая в веб-программирование, и когда дело доходит до навигации, я предпочитаю использовать Javascript и AJAX-запросы для изменения содержимого при нажатии на ссылки на меню. Это быстро, без обновления страницы, блестящего. Единственная проблема заключается в том, что URL-адрес веб-сайта всегда остается прежним. Поэтому я не могу, например, связать кого-то с страницей «О себе». Каков стандартный способ решения этой проблемы? В настоящее время я использую только HTML, JavaScript и jQuery.Удобная навигационная система с AJAX?
ответ
Обычно вы будете использовать один из двух методы. в зависимости от набора браузеров, которые необходимо поддерживать:
Изменение хеша - вы можете изменить хэш-часть URL-адреса (http://.../index.html#about-page
), не перезагружая страницу. Так, например, при нажатии на «О» ссылке, вы можете установить хэш URL с чем-то похожее на это:
window.location.hash = 'bla-bla';
Когда страница загружается, вы разбираете хэш часть и выполнить необходимые логика:
if (window.location.hash === 'about-page') {
// ...
}
Другой метод использует «History API» - в современных браузерах вы можете использовать API под названием «История API», который позволяет изменять историю браузера, в том числе URL. Вы можете использовать метод, называемый pushState
на history
объекта, например:
window.history.pushState({ event: 'event-id' }, "Event Title", "?event=event-id");
Для получения более подробной информации, вы можете увидеть предыдущий ответ я писал в прошлом: How to manage browser "back" and "forward" buttons when creating a javascript widget
Спасибо, я посмотрю. Кажется, API истории более гибкий, потому что вы также можете работать с пользователем, возвращающимся/вперед, но ценой не работая над старыми браузерами? –
Действительно зависит от того, какую структуру вы используете. Это всегда была классическая критика JSF, которая имела тот же эффект при использовании запросов Put в рамках своего коммуникационного подхода. Они придумали некоторые изменения в последующих выпусках.
Но есть ли стандартный подход, трудно сказать, однозначно. Я видел стратегию «Положительные запросы». Это меняет URL, но это полная подача, которую вы избегали.
Некоторые библиотеки javascript позволяют изменять URL-адрес самостоятельно. Я не помню, какие из них мы использовали.
В любом CAE ваше приложению нужно будет обслуживать эту глубокую навигацию, потому что вы даете пользователям возможность перемещаться прямо на страницы, которые они, возможно, не смогли ранее
Библиотека YUI - это то, что я использовал в прошлом, чтобы отредактировать URL-адрес браузера с веб-страницы. Однако прошло некоторое время. Там могут быть лучшие инструменты – EdH
- 1. удобная поисковая система?
- 2. SEO дружественная навигационная система Ajax с резервированием?
- 3. Внешняя навигационная система AmMap
- 4. JSF навигационная система?
- 5. Внешняя навигационная система Sammy.js
- 6. Голосовая навигационная система на Graphopper
- 7. Лучшая навигационная система в Emacs?
- 8. Интересная навигационная система CSS (шевроны)
- 9. Навигационная система на базе ANN
- 10. Новая навигационная система Google Plus?
- 11. Веб-навигационная система Использование Javascript?
- 12. Навигация навигационная система ошибка pivot
- 13. Навигационная система UITabBar и presentModalViewController
- 14. Royalslider - навигационная система вне слайдера
- 15. Навигационная система с камерой и ограничительными рамками
- 16. Навигационная система с переходом в Android
- 17. Простая навигационная система в стиле WinForms
- 18. обычная навигационная система angularjs вместо $ location.path
- 19. Универсальная навигационная система WASD в Майе?
- 20. Исходная навигационная система Haskell для зависимостей
- 21. Почему навигационная система не работает здесь?
- 22. Как работает интеллектуальная спутниковая навигационная система?
- 23. Основная навигационная система Genesis и логотип
- 24. Навигационная система JSF создает неверный URL-адрес
- 25. Bootstrap dropdown-menu keyboard навигационная система
- 26. навигационная система mvc. Как я это решаю?
- 27. Удобная система резервного копирования - автозагрузка скрипта на накладную
- 28. Навигационная система просмотра с проблемой webview с касаниями!
- 29. Отсутствует навигационная система с использованием приложения с двумя настольными контроллерами
- 30. Почему навигационная система не работает с объектом самообучения?
Реализовать «правильную» страницу структура, которая работает без AJAX в первую очередь, а затем просто помещает AJAX «сверху». Поисковые системы тоже понравятся. И API истории HTML5 помогает изменить URL-адрес, видимый в адресной строке, при этом. – CBroe