Октоторп / знак-знак / хешмак має особливе значення в URL-адресі, він зазвичай ідентифікує назву розділу документа. Точний термін полягає в тому, що текст, що слідує за хешем, є прив’язною частиною URL-адреси. Якщо ви користуєтесь Вікіпедією, ви побачите, що на більшості сторінок є зміст, і ви можете переходити до розділів документа з якорем, наприклад:
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-адреси. Спробуйте це в консолі Javascript Firebug або 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';
Ага! Немає оновлення сторінки! Тип:
window.location = 'http://minimal-github.gilesb.com/raganwald#and_this';
Досі немає оновлення. За допомогою кнопки "Назад" переконайтеся, що ці URL-адреси є в історії веб-переглядачів. Браузер помічає, що ми знаходимося на одній сторінці, але просто змінюємо якір, щоб він не перезавантажувався. Завдяки такій поведінці ми можемо мати єдину програму Javascript, яка, як видається, у браузері знаходиться на одній «сторінці», але має багато розділів, що відзначають закладки, які поважають кнопку «назад». Програма повинна змінити якір, коли користувач вводить різні "стани", і якщо користувач використовує кнопку "назад" або закладку або посилання для завантаження програми з доданим якорем, програма повинна відновити відповідний стан.
Отож, у вас це є: якір надає програмістам Javascript механізм створення додатків, що дозволяють використовувати закладки, що індексуються та зворотних кнопок. Ця методика має назву: це інтерфейс однієї сторінки .
ps Існує четверта перевага цієї методики: Завантаження вмісту сторінки через AJAX та введення її в поточний DOM може бути набагато швидшим, ніж завантаження нової сторінки. Окрім збільшення швидкості, під контролем програміста можна виконувати подальші фокуси, такі як завантаження певних ділянок у фоновому режимі.
pps Враховуючи все це, "удар" або знак оклику - це ще один натяк веб-сканеру Google про те, що таку саму сторінку можна завантажити з сервера за дещо іншою URL-адресою. Дивіться повзання Ajax . Інша методика полягає в тому, щоб зробити кожну точку посилання на доступну серверу URL-адресу, а потім використовувати ненав’язливий Javascript, щоб змінити його на SPI з якорем.
Ось ще ключове посилання: Маніфест інтерфейсу єдиної сторінки
shebang
було ... en.wikipedia.org/wiki/Shebang_%28Unix%29