重置链接的访问状态

新手上路,请多包涵

有什么方法可以重置链接的访问状态?

场景是这样的:在自然有很多链接的内部网站上,我们希望链接仅在一段设定的时间段内具有“已访问”状态。因此,我正在寻找一种方法来操纵链接的访问状态。

这可行吗?当然应该是跨浏览器的。

ETA:客户端解决方案是完全可以接受的。甚至更喜欢.. :-)

ETA-2:允许使用 Cookie。这里没有禁止:-)

原文由 erlando 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 636
1 个回答

当浏览器选择应用 :visited CSS 伪类 时,链接显示为“已访问”。

将链接重置为未访问状态的客户端方法是(以某种方式)清除浏览历史记录。得知有一种可移植的方法可以做到这一点,我会感到非常惊讶。它还具有令人不快的副作用,例如削弱对历史敏感的智能位置栏(如 Firefox 3 中的位置栏)的行为。

正如 Drew Noakes 所建议的,服务器端的方法是向链接添加一些噪音查询参数,并定期更改查询参数。这只会给出您想要的行为的错误近似值。要获得“正确”的行为,您需要在服务器端跟踪每个用户访问过的页面的历史记录,这样您就可以仅在必要的时间后更改特定页面的噪声参数。

总而言之,实际尝试“重置链接的访问状态”很可能是个坏主意。

我认为更好的解决方案是调整页面样式,使 :visited 伪类呈现与 :link 伪类相同的效果。然后保留每个用户访问链接的服务器端历史记录,并使用显式 visited 类调整链接的显示。

如果您没有方便的用户身份,并且不想要求登录,您始终可以使用随机持久性 cookie。

原文由 ddaa 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏