Перейти к навигации · Перейти к содержимому

Про hashbang-ссылки

Ура! Твиттер наконец отказывается от hashbang-ссылок (т.е. от динамических ссылок вида #!xxx). Скажу честно, мне они никогда не нравились потому что это страшный костыль. В самом Твиттере считали, что это временное решение, введённое до тех пор, пока все браузеры не начнут нормально поддерживать pushState. Но, как известно, нет ничего более постоянного, чем временное.

Ссылки, которые внедрил столь популярный сервис как Твиттер, стали расползаться по интернету словно вирус. Саму методику тут же многие подхватили: Google, Gawker и другие. Проблема, которую разработчики пытались решить с помощью таких ссылок, ясна: современные сайты во многом похожи на интерактивные приложения, а перезагрузки страниц в этом сильно мешают. Но чтобы сохранить вменяемый адрес страницы на сайте, напичканном динамическими фишками и аяксом, нужно ещё постараться. Конечно, в нормальных браузерах уже некоторое время есть поддержка History API, но в любимом всеми Internet Explorer её не было (и по сути еще нет) до 10 версии. Поэтому и приходится использовать эти костыли.

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

Лично я никогда не использовал в своих проектах именно hashbang-ссылки, так как не считал их полноценным решением. Но вот хеш-ссылками пользовался — и то, лишь для IE. Надеюсь, скоро про этот способ навигации веб-разработчики смогут забыть, так как проблем от него гораздо больше чем хотелось бы.

Комментарии

ну для старых можно юзать эмуляторы: http://code.spb-piksel.ru/…y.latest.zip которые не требуют писать лишнего.