Хорошо, пожалуйста, не меняйте a
элемента href
, чтобы он указывал на хешированный URL, как говорят другие авторы, - это нарушит работу пользователя. Если они захотят открыть в новом окне, то потребуется двойная загрузка, если вы сделаете изменение на стороне сервера, это сломает поисковые системы и пользователей с js-отключением.
Проблема в том, что если вы используете хеши для обновления вашего сайта до RIA (многофункционального интернет-приложения), тогда ссылки будут указывать на mysite.com/page
, но вы на самом деле получаете доступ к mysite.com/#/page
, поэтому вы на самом деле не посещаете оригинал.
Надлежащим решением здесь является использование HTML5 History API, который позволяет вам напрямую изменять URL-адрес и подключаться к изменениям URL-адреса (чтобы больше не было необходимости в хешах). Вы можете узнать больше о плюсах и минусах хэшей против хэшбангов против API истории HTML5 здесь:
https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling - он также включает в себя пример кода для обновления вашего сайта с помощью HTML5 History API.
В будущем jQuery Mobile планируется использовать с API истории HTML5 (над ним сейчас ведется работа), но сейчас я бы предложил подождать, пока это будет реализовано.