【发布时间】:2010-09-01 22:08:11
【问题描述】:
我对@987654321@ 伪类有一些疑问:
- 浏览器根据什么决定何时应将
:visited伪类应用于超链接? - 他们是从浏览器的页面历史记录中获取这些信息,还是在每个会话或其他地方存储这些信息?
- 是否可以(对于网页开发人员)控制应将
:visited伪类应用于超链接的时间?
(注意:我不是要解决实际问题,我只是想知道它是如何工作的)
【问题讨论】:
标签: css browser pseudo-class
我对@987654321@ 伪类有一些疑问:
:visited 伪类应用于超链接?:visited 伪类应用于超链接的时间?(注意:我不是要解决实际问题,我只是想知道它是如何工作的)
【问题讨论】:
标签: css browser pseudo-class
根据浏览器历史记录访问链接时应用。清除您的历史记录将清除访问状态。据我所知,没有“超时”。
【讨论】:
它通常存储在浏览器的页面历史记录中(不是每个会话,也许在某种隐私模式的情况下除外)。
它只是检查该链接是否存在于历史记录中,如果存在,则为:visited。据我所知,你无法控制它以任何方式应用多长时间。
【讨论】:
您可以通过在目标更改时更改链接本身来控制它以发挥您的优势。例如,我见过一些留言板软件,它会将消息计数附加到其首页上的主题链接中,这样当新消息出现在其中时,您访问过的链接就不会被访问。
【讨论】:
:visited 参数存储在用户历史文件中,只能在本地删除。 没有办法从服务器控制它
为什么要为它设置超时?也许还有另一种方法可以得到你需要的东西。
您可以在链接中创建一个随机参数,例如:
http://www.yourdomain.com/?<random argument>
这样链接总是不同的,指向同一个链接,然后你就扔掉参数。
@edit 是的,有可能,如果你设置了一个 cookie,并且每个用户检查最后一次为每个链接设置 cookie 的时间(包括参数),如果 time > 你想要的时间,刷新参数
【讨论】:
除了一件事之外,几乎所有内容都已涵盖。 什么时候申请? 当目标页面有其 onload 事件时。所以不是马上。 如果您在后台的新选项卡中打开链接,您会在切换样式之前看到一些延迟。精确到加载外部页面和浏览器存储历史/触发更改所需的时间。
【讨论】:
它仅适用于超链接 (<a href>),以及在浏览器历史记录中找到条目时(不是会话)。
【讨论】: