Все браузеры могут быть использованы для выявления веб-сайтов, которые вы посетили; то есть все сайты в списке истории вашего браузера. Техника очень проста. Примените правило к ссылке, используя селектор CSS :visited
Затем либо запросите свойство с помощью JavaScript, чтобы узнать, было ли применено значение, либо создайте уникальный URL-адрес для фонового изображения для каждой тестируемой ссылки, которая записывает информацию на стороне сервера. Доступны готовые библиотеки, которые могут очень быстро проверять большое количество URL-адресов — я говорю сотни тысяч в минуту.
Что ж, Mozilla объявила о стратегии, которую они принимают для решения этой проблемы, что будет иметь определенные последствия для веб-дизайнеров. И они надеются, что другие производители браузеров последуют их примеру. Он включает три основных изменения в кодовой базе Mozilla, которые повлияют на поведение браузера:
- Посещаемые ссылки могут различаться только по цвету: передний план, фон, контур, граница, штриховка SVG и цвета заливки.
- Все правила стилей для посещенных и не посещенных ссылок будут решаться одновременно и до применения любых стилей ссылок.
- Когда JavaScript используется для запроса вычисленного стиля ссылок, будут возвращены только не посещенные значения стиля.
Удивительно, но эта стратегия соответствует спецификации CSS 2.1 , которая гласит:
Таким образом, UA могут рассматривать все ссылки как непосещенные ссылки или применять другие меры для сохранения конфиденциальности пользователя при одновременном отображении посещенных и не посещенных ссылок.
Я должен признать, что не знал, насколько велика проблема и насколько легко ее использовать. Но, прочитав эту тему, кажется, что это правильное действие. Я также удивлен, что поставщику браузера потребовалось так много времени, чтобы решить эту проблему. Я надеюсь, что пример Mozilla завоевывает популярность.
В комментариях к посту Mozilla люди уже жалуются на то, что они часто используют фоновые изображения для стилизации посещаемых ссылок, и что дальтоники будут в невыгодном положении. Что вы думаете об этой стратегии? Нужно ли менять какие-либо ваши любимые техники CSS? Будет ли это действительно иметь большое влияние на вашу работу или будет легко приспособиться?