浏览器的小白谎言

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

作者希望通过CSS样式改变已访问链接的外观,但由于浏览器的安全和隐私限制,无法使用:has()选择器。最终,作者决定放弃CSS,转而使用JavaScript实现该功能。

🎯

关键要点

  • 作者希望通过CSS样式改变已访问链接的外观。
  • 尝试使用:has()选择器,但未能成功。
  • 发现:visited伪类的样式应用受到限制,主要是出于安全和隐私原因。
  • 使用兄弟选择器时,已访问链接的相邻元素样式会被视为未访问。
  • 浏览器为了保护用户隐私,会在某些情况下对网页应用程序提供虚假的信息。
  • 最终,作者决定放弃CSS,转而使用JavaScript实现该功能。

延伸问答

为什么作者想通过CSS改变已访问链接的外观?

作者希望通过CSS样式改变已访问链接的外观,以提升用户体验。

:has()选择器为什么无法实现预期效果?

:has()选择器未能成功是因为浏览器对:visited伪类的样式应用有限制,出于安全和隐私原因。

浏览器如何保护用户隐私?

浏览器通过对网页应用程序提供虚假的信息来保护用户隐私,防止泄露用户的浏览历史。

作者最终选择了什么解决方案?

作者最终决定放弃CSS,转而使用JavaScript来实现已访问链接的样式改变。

使用兄弟选择器时会发生什么?

使用兄弟选择器时,已访问链接的相邻元素样式会被视为未访问,无法正确显示样式。

为什么:visited伪类的样式应用有限制?

:visited伪类的样式应用有限制是为了防止通过样式检测用户的浏览历史,从而保护用户隐私。

➡️

继续阅读