когда псевдокласс: посещения применяется к гиперссылке - PullRequest
3 голосов
/ 29 августа 2010

У меня есть несколько вопросов о псевдоклассе :visited:

  • На основании того, что браузеры решают, когда псевдокласс :visited должен применяться к гиперссылке?
  • Они берут эту информацию из истории страниц браузера, или она сохраняется за сеанс или где-то еще?
  • Возможно ли (для разработчика веб-страницы) контролировать, как долго псевдокласс :visited должен применяться к гиперссылкам?

(Примечание: я не пытаюсь решить актуальную проблему, мне просто интересно, как она работает)

Ответы [ 6 ]

5 голосов
/ 29 августа 2010

Применяется, когда ссылка посещена на основе истории браузера. Очистка вашей истории очистит посещенное состояние. Насколько я знаю, "тайм-аута" нет.

2 голосов
/ 29 августа 2010

Это обычно хранится в истории страниц браузера ( не за сеанс, за исключением, возможно, в каком-либо режиме конфиденциальности).

Он просто проверяет, существует ли эта ссылка в истории, если это так, то :visited. Насколько я знаю, вы не можете контролировать, как долго это применяется.

1 голос
/ 29 августа 2010

ну почти все было покрыто, кроме одной вещи.когда это применяется?когда целевая страница имеет событие onload.так не сразу.если вы откроете ссылку в новой вкладке в фоновом режиме, вы увидите некоторую задержку, прежде чем она сменит стиль.определяет точное время загрузки внешней страницы и сохранения в браузере истории / запуска изменения.

1 голос
/ 29 августа 2010

Вы можете отчасти контролировать это в своих интересах, изменяя саму ссылку при изменении ее цели.Например, я видел какое-то программное обеспечение для доски объявлений, которое добавляло бы количество сообщений к ссылкам к темам на главной странице, чтобы посещенные вами ссылки не посещались при появлении в них нового сообщения.

1 голос
/ 29 августа 2010

Аргумент: visit хранится в файле истории пользователей и может быть удален только локально. Нет способа контролировать это с сервера

почему вы хотите установить таймаут для него? может быть, есть другой способ получить то, что вам нужно.

вы можете создать случайный параметр в вашей ссылке, например:

http://www.yourdomain.com/?<random argument>

таким образом, ссылка всегда отличается, направляется на одну и ту же ссылку, а затем вы просто отбрасываете параметр.

@ edit да, это возможно, если вы установили cookie-файл и каждый пользователь проверял, когда в последний раз cookie-файл устанавливался для каждой ссылки (включая параметр), и если time> время, которое вы хотите, обновите параметр

0 голосов
/ 29 августа 2010

Применяется только к гиперссылкам (<a href>) и при обнаружении записи в истории браузера (не в сеансе).

...