Выполнить действие на основе идентификатора фрагмента в jQuery
У меня есть модальное окно CSS на моем сайте, которое открывается нажатием на ссылку, которая выглядит следующим образом:
<a href="#modal-box">Click here to open modal box</a>
После того, как пользователи нажали на это, открывается модальное окно, и они оказываются по адресу: http://example.com/.
Для меня это место на моем сайте, поэтому я хотел бы, чтобы пользователи могли копировать и вставлять этот URL-адрес в другой браузер и получать такой же модальный блок.
Используя jquery, есть ли способ захватить идентификатор фрагмента, на котором находится пользователь, и затем предпринять действие, основанное на этом?
2 ответа
Если вы хотите сделать это правильно (то есть, поддержку кнопки назад), то вам нужно перехватить событие hashchange и действовать в соответствии с ним, это событие запускается современными браузерами при изменении фрагмента URL. Однако не все браузеры поддерживают hashchange, поэтому вам придется обойти это. Вам лучше использовать готовое решение, такое как:
Основной плагин hashchange, вероятно, будет лучшим выбором, если вы не создаете приложение JavaScript со сложной маршрутизацией и обработкой аргументов.
Вы могли бы посмотреть на location.hash
тоже все время. Но тогда вам нужно будет найти соответствующую ссылку и смоделировать щелчок по ней, чтобы заставить браузер работать. Как только вы начнете делать такие вещи, вам, вероятно, будет лучше с одним из вышеупомянутых плагинов / фреймворков и некоторой формальной системой маршрутизации.
Возможно, вы могли бы сделать это с помощью jQuery, но вы также можете просто использовать собственное свойство JavaScript: location.hash
дает тебе #modal-box
,