ру/ководство / Анкор, еще анкор

§ 53.
Анкор, еще анкор
[12.6.00]

| Может быть, ты будешь ждать, а может быть и нет - Дело твое. Если вдруг позвать меня захочешь в тишине, крикни в окно Группа "Браво". "Дорога в облака"

Ну что, переварили прошлый параграф? Он был слишком заумен для читателя, ходящего сюда за пищей для ума, а не для html-редактора. Но этот параграф еще более заумен.

Мы все-таки не станем отказываться от якорей. Пошутили и ладно. Это все-таки не тег <blink>.

Итак, чем же так плохи якори с точки зрения юзабилити? Тем, что они мешают нормальной навигации. Мама сказала back, значит - back. Если уж сайтодержатель решил кормить пользователя своей собственной навигацией вместо стандартной браузерной, то пусть уж он со своим уставом дальше собственного монастыря не выходит.

Как будем бороться? Элементарно, мой дорогой Ватсон. Пишем небольшой ява-скриптик:

    <script language=JavaScript><!--
    function goTo(where) {
    	 document.location.replace(where);
    	 return false;
    }
    // --></script>

А потом якорями хоть обвешайся:

    <a href=#aaa onClick="return goTo('#aaa')">AAA</a>
    <a href=#bbb onClick="return goTo('#bbb')">BBB</a>

Если жы вы принадлежите к клану любителей проставления ссылок "Наверх" внизу документов, то пользуйтесь такой конструкцией:

    <a href=#top onClick="scrollTo(0,0); return false;">TOP</a>

Главное преимущество этих нехитрых конструкций: переход по якорю не записывается в историю навигации. Если пользователь сначала перешел по якорю, а потом нажал на back, то он вернется не к верху (или к низу, если он нажал на "top" внизу), а именно обратно - на страницу, где он был до этого.

Если у пользователя отключен JavaScript, то он получит старым добрым якорем в хохотальник - но это уже его проблема. По крайней мере, это не смертельно, хоть и очень неудобно. Приведенный выше код корректно работает в случаях с отключенным JS.

Copyright © 1997-2000 Артемий Лебедев E-mail: mailto:tema@tema.ru?subject=Дизайн для умных |  | Вернуться к оглавлению Записная книжка