Вот что у меня есть:
- Веб-приложение, которое запускается на одной HTML-странице (назовите ее
myapp.req
), а контент поступает и отправляется через AJAX
- Приложение может быть введено извне с помощью ссылки, такой как
myapp.req?id=123
, и приложение открывает вкладку с элементом с идентификатором 123
- Содержимое на странице в основном пользовательское и часто содержит ссылки внутри приложения на
myapp.req?id=123
- Проблема заключается в том, что нажатие на ссылку
myapp.req?id=123
перезагружает браузер и удаляет любой контент или состояние, загруженное пользователем
То, что я хочу, - это иметь возможность отлавливать щелчки по ссылкам, назначение которых myapp.req?id=123
, и вместо перезагрузки страницы просто откройте вкладку для элемента 123, оставив все остальное в данный момент загруженным в одиночку. Однако, если ссылка предназначена для внешнего веб-сайта, просто оставьте браузер закрытым.
Так что мой вопрос действительно: могу ли я иметь глобальный обработчик ссылок, который проверяет, хочу ли я обрабатывать щелчок по ссылке, и, если да, запустить какой-нибудь javascript и не выходить?
Я понимаю, что могу найти все <a>
и добавить прослушиватели, но я надеюсь, что решение потребует настройки прослушивателя только один раз, а не добавления обработчиков ссылок каждый раз, когда на страницу загружается новый контент. Поскольку контент можно загружать разными способами, было бы неудобно добавлять код во все эти места.
Имеет ли это смысл? Спасибо за любую помощь или предложения!