Intereting Posts
Как создать зеркальный эффект изображения с помощью одного элемента CSS Как создать панель инструментов док-станции внизу страницы? Как предотвратить функцию меню с помощью функции click и активного двойного щелчка Как я могу поместить div над изображением? изменить текст заполнителя текста textarea Как чередовать цвета строк таблицы HTML с помощью JSP? Как сделать размеры элементов, чтобы заполнить размеры ячеек и увеличить шрифт в бесплатном встроенном jqgrid и редактировании формы Отображать изображение только на небольших экранах Вертикальное выравнивание двух разделов Показать / скрыть несколько разделов Javascript Приоритет, когда конфликтуют атрибуты и свойства элемента формы HTML. Получить числовое значение из формы, расчета и обновления содержимого html с помощью javascript Случайный цвет в jQuery Символы Unicode не отображаются должным образом в canvasе HTML5 href, чтобы «добавить в календарь» из веб-сайта, не работающего с собственным Google Calendar-приложением на Android 6.0+

Изменение URL без обновления?

Я нашел приложение в Интернете, внутри которого, когда вы нажмете ссылку «A», он будет перенаправлен на страницу без обновления всего места и изменения адресной строки URL-адреса, я знаю, что это возможно, потому что JQuery имеет доступ к браузеру sode клиента.

Пожалуйста, помогите мне с этим.

используя историю api, вы можете сделать что-то подобное

if (history && history.pushState){ history.pushState(null, null, '/new/url'); } 

попробуйте в браузере теперь с консолью chrome js

это все, что требуется (может быть, немного больше, но это и есть основа

подробнее в http://diveintohtml5.info/history.html

Вы можете использовать API истории HTML5 для изменения URL-адреса без обновления страницы, ознакомьтесь с этим уроком из Mozilla https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
Также проверьте https://github.com/browserstate/History.js для кросс-браузерного решения.

Плагин jQuery PJAX https://github.com/defunkt/jquery-pjax поможет вам сделать то, что вы упомянули, это поможет обновить контент и изменить URL без обновления.

Вот пример: http://pjax.heroku.com/
Исходный код для этого примера доступен здесь: https://github.com/defunkt/jquery-pjax/tree/heroku

Обычно это делается либо с использованием новейшего API истории HTML5 , либо для старых браузеров, изменяя hash в URL-адресе. Взгляните на эту статью: http://dev.opera.com/articles/view/introducing-the-html5-history-api/ .

Всякий раз, когда какое-либо действие пользователя запрашивает новую страницу, вместо того, чтобы загружать новую страницу (с новым URL-адресом), страница сохраняет общие свойства (например, заголовок, нижний колонтитул или скажем, на сайте электронной коммерции, виджет корзины покупок) , а оставшееся содержимое выводится асинхронно через Ajax . После получения нового контента пользовательский интерфейс изменяется соответствующим образом, а новое state вставляется в стек Истории и соответственно меняет URL. С помощью атрибута data используемого здесь в качестве словаря, вы храните информацию о том, что показывать, когда пользователь перемещается вперед / назад и снова приходит на эту страницу. Что-то вроде этого:

 history.pushState({mydata1: data, mydata2: anotherData},"newTitle",newURL); 

Поэтому, когда пользователь нажимает кнопку «Назад» браузера, эта запись просто удаляется из стека истории и из атрибутов данных новой записи в верхней части стека отображается новая страница. Текущая страница также может быть обновлена:

 history.replaceState({mydata1: data, mydata2: anotherData}, "anotherTitle",newURL); 

Вся информация о текущей странице может быть получена из state :

 myState = history.state; 

Если вы заметили, Facebook делает то же самое. Когда вы нажимаете кнопку « Домой» или переходите к профилю друга, новая страница не загружается. Цифра уведомления справа остается такой же, как и она (вместо повторной загрузки новой страницы), если у вас есть окно чата, оно остается как есть. Это связано с тем, что страница не перезагружается на новую страницу (в этом случае все виджеты, включая чат и тикер, также должны перезагружаться), только URL-адрес изменяется динамически, а новый контент извлекается и отображается через Ajax.

Если вы просмотрите Facebook в IE8 , который не поддерживает API History , вы обнаружите, что он по-прежнему работает, но поведение изменения URL отличается. Это связано с тем, что они возвращаются к старым старым способам изменения URL-адресов, меняя hash.

Самое простое решение – использовать фрейм или iframe и установить target атрибут a в фрейм (или просто щелкнуть ссылку внутри фрейма). Это покажет новую страницу внутри фрейма и адрес frameset-html в строке местоположения.

Если вам нужно только распечатать некоторую информацию, сделав ее после символа dash #, вы не перезагрузите документ