Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   ссылки получали стиль "visited" только на время сессии (https://javascript.ru/forum/server/8128-ssylki-poluchali-stil-visited-tolko-na-vremya-sessii.html)

alexandr_poskrobka 09.03.2010 18:28

ссылки получали стиль "visited" только на время сессии
 
Добрый день.
Как можно сделать так чтобы ссылки получали стиль "visited" только на время сессии - т.е. новая сессия все ссылки опять стиля "link"? Или на любое нами определённое время.
Вот моё решение. Добавлять в сессию идентификатор каждой посещённой ссылки а потом при генерации след. страницы читать идентификаторы и соответствующим ссылкам менять стиль. Это хорошее решение или можете подсказать что-то другое? Может кто-то реализовывал подобное? Или идею реализации можете подсказать. Заранее благодарен.

subzey 09.03.2010 19:38

Ну, можно и так, только что делать с «решеточными» ссылками?

Расскажите, пожалуйста, для чего Вам это нужно.

alexandr_poskrobka 09.03.2010 20:10

информация на сайте обновляется еженедельно - т.е. ссылка остаётся той же а содержимое под ней меняется - необходимо наверное в течение недели хранить ссылку для пользователя как 'посещённую'. Для этого варианта в отличие от хранения в течение сессии думаю раздавать в куки идентификатор на неделю а к нему привязать запись в базе данных куда и накапливать посещённые ссылки. Но мне кажется можно как-то проще и изящнее. Решёточные ссылки есть на сайте но необходимости с ними это также делать не возникнет. Это только для определённых ссылок.
Думаю может обойтись без базы - храня в куки массив идентификаторов (около 50 штук - специфичная инфа врядли будет больше).

subzey 09.03.2010 20:52

<a href="/article/56?lastmod=1268156866">…</a>

А что-то типа такого соорудить нельзя? Формально ссылки разные, а ведут на один и тот же URI. Просто иначе Вас ожидает долгая пляска ради сомнительной цели (что, впрочем, характерно для госзаказов, хехе).

alexandr_poskrobka 09.03.2010 21:14

Цитата:

Сообщение от subzey (Сообщение 47262)
<a href="/article/56?lastmod=1268156866">…</a>

А что-то типа такого соорудить нельзя? Формально ссылки разные, а ведут на один и тот же URI. Просто иначе Вас ожидает долгая пляска ради сомнительной цели (что, впрочем, характерно для госзаказов, хехе).

Не пойму как это можно использовать и как применить другой стиль?

subzey 09.03.2010 21:24

alexandr_poskrobka,
я просто предлагаю подход «с другого края»: не мимикрировать ссылки под пеосещенные, а использовать нативный механизм :visited.

У нас меняется содержимое статьи, меняется ее Last-Modified, ссылки в листинге выводятся с другим GET-параметром lastmod=… и оп-ля! Эта ссылка ведет на ту же страницу, но уже совем другая, и, соответственно, не :visited. Старые же ссылки, добавленные в закладки, например, работать не перестанут.

alexandr_poskrobka 10.03.2010 07:35

да это проще того что я придумал - придётся правда отдельно определять поисковые роботы и им отдавать чистые ссылки. Спасибо за идею.

subzey 10.03.2010 08:48

alexandr_poskrobka,
да не за что. Всё равно, способ не фонтан.


Часовой пояс GMT +3, время: 09:32.