Что значат символы #! в URL некоторых сайтов?

В последнее время все чаще встречаю их идущими сразу после домена:


->music.yandex.ru/#!/album/10030

->twitter.com/#!/KremlinRussia


Это ссылка на какой-то серверный скрипт? Но почему именно так, в чем приемущество?

Я помню, у twitter ранее были адреса без этой пары, а теперь вот появились…
  • Вопрос задан
  • 25865 просмотров
Решения вопроса 1
sajgak
@sajgak
простой пример hash навигации (динамическая часть страницы загружается по ajax, не перезагружая основной контейнер)! нужен для того, чтобы отличать обычный якорь от ссылки. Кстати, с выходом history.pushstate в подобного вида ссылках необходимости больше нет. Правда пока не поддерживается оперой и соотвественно ие.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Часть после решетки некогда служила ссылкой на определенную часть страницы. На Хабре это до сих пор так — нажмите на ссылку с числом комментов под топиком. Если в коде страницы есть тэг
<a name="comments" …/>
, то при открытии адреса, заканчивающегося на #comments, браузер прокрутит страницу к этой ссылке.

Клиентские скрипты могут отслеживать появление и изменение этой части в адресе, и предпринимать действия, основанные на ее содержании. Простейшее применение — AJAX-навигация. Без таких адресов невоможно дать ссылку на определенную внутреннюю страницу. Кроме того, с таким ухищрением работают кнопки назад/вперед в браузере.

Как верно замечено выше, уже существует механизм, позволяющий обходиться без этого, но он, увы, не везде работает.
Ответ написан
@1nd1go
Это означает идиотизм разработчиков: habrahabr.ru/blogs/webdev/113842/
Ответ написан
Riateche
@Riateche
Могу добавить, что скоро эти адреса могут уйти в прошлое. В новых Firefox и Chrome есть возможность через скрипты изменить основную часть адреса без перезагрузки страницы. Необходимость использования хеша там отпадает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы