Я заметил пару сайтов, которые, если я создаю несколько ссылок, которые используют одну и ту же цель, на самом деле сайт не перезагружает запрос, скорее он захватывает ссылку и обрабатывает он, либо загрузив его в вкладку внутри своего приложения, либо изменив элементы на странице, снова ... все без полной перезагрузки URL-запроса.Обнаруживать или захватывать хеш-банд/querystring-изменение в одну и ту же целевую точку href
Как это обнаружить на моей странице?
К примеру, я хочу, чтобы обрабатывать несколько ссылок, поступающие из внешних ссылок, как этот
<a href="http://192.168.1.10/index.php?p=1#/tag/ABC-0021" target="myapp">0021</a>
<a href="http://192.168.1.10/index.php?p=1#/tag/ABC-0031" target="myapp">0031</a>
<a href="http://192.168.1.10/index.php?p=1#/tag/ABC-0012" target="myapp">0012</a>
Прямо сейчас, каждый раз, когда я нажимаю один из этих ссылок, вся моя приложение/страница просто обновляется во вкладке браузера для этой цели. Кто-нибудь знает, как предотвратить это, чтобы я мог справиться с ним должным образом?
Редактировать: Google Music делает это - попробуйте щелкнуть ссылки, как только вы откроете вкладку, переместите эту вкладку на другой монитор/область вашего экрана. Выберите другую ссылку, обратите внимание на содержимое изменений в музыке Google, но не полностью обновите все приложение. https://jsfiddle.net/jonemzke/
Редактировать 2: Я полагаю, что это имеет какое-то отношение к изменениям window.onbeforeunload или popstate, однако я не могу найти конкретный пример кода для этого сценария.
Изменение только хэштега не перезагружает страницу, хештег работает как привязка на странице в целом. Вам нужно добавить еще один параметр запроса url (эффективно изменить URL-адрес), чтобы обновить сайт. –
@BrainFooLong это то, что я пытаюсь предотвратить - полное обновление. Я хочу предотвратить обновление и захватить, если кто-то уже имеет установленный сеанс в моем приложении, чтобы просто изменить содержимое тега div. – kerv
Чем вы в порядке с этим решением. Проверка того, изменился ли хэш, работает только при проверке window.location.hash с интервалом, если он изменился. –