В URL-адресе особое значение имеет знак октофор / число-знак / хэш, обычно он идентифицирует имя раздела документа. Точный термин заключается в том, что текст, следующий за хешем, является частью URL anchor . Если вы используете Википедию, вы увидите, что большинство страниц имеют оглавление, и вы можете переходить к разделам в документе с помощью якоря, например:
https://en.wikipedia.org/wiki/Alan_Turing#Early_computers_and_the_Turing_test
https://en.wikipedia.org/wiki/Alan_Turing
идентифицирует страницу, а Early_computers_and_the_Turing_test
является привязкой. Причина, по которой Facebook и другие приложения на основе Javascript (например, мои собственные Wood & Stones ) используют привязки, заключается в том, что они хотят сделать страницы закладками (как предлагается в комментарии к этому ответу) или поддерживают кнопку возврата без перезагрузки всей страницы с сервера .
Для поддержки закладок и кнопки возврата необходимо изменить URL-адрес. Однако если вы измените часть страницы (с чем-то вроде window.location = 'http://raganwald.com';
) на другой URL или без указания привязки, браузер загрузит всю страницу из URL. Попробуйте это в Firebug или консоли Javascript в Safari. Загрузка http://minimal-github.gilesb.com/raganwald
. Теперь в консоли Javascript введите:
window.location = 'http://minimal-github.gilesb.com/raganwald';
Вы увидите обновление страницы с сервера. Теперь наберите:
window.location = 'http://minimal-github.gilesb.com/raganwald#try_this';
Aha! Нет обновления страницы! Тип:
window.location = 'http://minimal-github.gilesb.com/raganwald#and_this';
Все еще без обновления. Используйте кнопку «Назад», чтобы увидеть, что эти URL-адреса есть в истории браузера. Браузер замечает, что мы находимся на той же странице, но просто меняем привязку, поэтому он не перезагружается. Благодаря такому поведению у нас может быть одно Javascript-приложение, которое в браузере отображается на одной «странице», но имеет много закладок, которые относятся к кнопке «Назад». Приложение должно изменить привязку, когда пользователь входит в разные «состояния», а также, если пользователь использует кнопку «Назад», закладку или ссылку для загрузки приложения с включенной привязкой, приложение должно восстановить соответствующее состояние.
Итак, у вас есть: Anchors предоставляют программистам Javascript механизм создания приложений, которые можно добавлять в закладки, индексировать и использовать кнопки назад. Эта техника имеет название: одностраничный интерфейс .
p.s. У этого метода есть четвертое преимущество: загрузка содержимого страницы через AJAX с последующим внедрением его в текущий DOM может быть намного быстрее, чем загрузка новой страницы. Помимо увеличения скорости, под управлением программиста могут выполняться дополнительные приемы, такие как загрузка определенных частей в фоновом режиме.
p.p.s. Учитывая все это, «взрыв» или восклицательный знак - это еще один намек для поискового робота Google, что точно такую же страницу можно загрузить с сервера по несколько другому URL-адресу. См. Ajax Crawling . Другой метод заключается в том, чтобы каждая ссылка указывала на URL-адрес, доступный для сервера, а затем использовала ненавязчивый Javascript для преобразования его в SPI с привязкой.
Снова ключевая ссылка: Манифест об одностраничном интерфейсе