Kohana Routing для URL-адреса с тегом hah (#) в нем

Я работаю над сайтом фотографии, на котором я НЕ хочу, чтобы страница обновлялась каждый раз, когда пользователь переходит на новую страницу (например, фотографию), щелкая миниатюры. В то же время пользователь должен иметь возможность добавлять URL-адреса в закладки и отправлять ссылки по электронной почте/чату.

Итак, я использую хэш-теги в URL-адресе, и URL-адрес будет иметь формат:

http://site.com/photo/#<photo_id>-<SEO>

пример – http://site.com/photo/#12-blue-butterflies

Я потратил много времени на написание маршрутов, и наконец у меня есть один, который не работает:

Route::set('photo','photo(/#<id>(-<seo>))',
    array(
        'id' => '\d+',
        'seo' => '.*',
    ))
    ->defaults(array(
        'controller' => 'photo',
        'action'     => 'index',
    ));

Проблема в том, что если я удалю хэш из URL-адреса и подправлю маршрут, я смогу заставить это работать. С гашишем это кажется невозможным. Интересно, возможно ли это. Это что-то из-за дизайна коханы, что мы не можем использовать # в URL-адресах?

Спасибо!


person pMan    schedule 26.01.2013    source источник


Ответы (1)


Это не имеет отношения к Кохане. # не используется в URL-адресах на стороне сервера, и точка. Он никогда не отправляется браузером.

Хэш-тег доступен только на стороне клиента. Например, он может использоваться клиентским javascript.

person eis    schedule 26.01.2013
comment
Спасибо айс. Итак, я должен написать еще немного javascript. - person pMan; 27.01.2013
comment
Что ж, если вы хотите использовать содержимое хеш-тегов (помимо того, что базовый html предоставляет идентификаторы и имена элементов), да. - person eis; 27.01.2013