【问题标题】:How to hide a link if it was visited?如果链接被访问,如何隐藏它?
【发布时间】:2015-06-08 14:53:25
【问题描述】:

我想在访问页面时从页面中删除链接。但是......如何,如果伪类 :visited 有隐私限制? (例如,我不能使用 display: none)

(我想怎么做)示例:

.someclass a:link {display:block;}

.someclass a:visited {display:none;}

谢谢大家。

详细信息:我也会使用外部链接,所以我不能使用 jquery cookie 或 localstore,并且链接将通过电子邮件传递,因此我不能在点击类“X”中使用 jquery。

【问题讨论】:

  • 这个小提琴能抓住你的问题吗? jsfiddle.net/NGSs8
  • +1 有趣的问题。我尝试了这个,对于 Chrome,我发现 :visited 仅用于用户从该站点访问的链接。然后,您无法检查用户以前是否曾访问过所引用的站点。您应该尝试捕获click 事件,使用链接 URL 存储 cookie,当用户返回您的站点时,您会将站点 url 在苦力中存储到数据库中,并且不会为用户呈现访问过的链接。
  • 如果您通过电子邮件发送这些链接,您将无法更改已发送的电子邮件。您是否希望 CSS 能够将其隐藏在电子邮件中?
  • 您好鲍里斯,我将使用外部链接,但这不能正常工作,因为我也会通过电子邮件发送链接。

标签: jquery html css


【解决方案1】:

您可以通过 :visited 伪类更改的唯一属性是颜色。这是对安全问题的回应,其中 javascript 可用于测量链接的计算样式并确定用户是否访问过该 url。这在最近几年已经被修补,所以你应该避免依赖它来实现你想要的功能。有关更详细的说明,请参阅此处的文章:

http://www.impressivewebs.com/styling-visited-links/

【讨论】:

    【解决方案2】:

    我认为你能得到的最接近的方法是将访问的链接着色为与背景相同的颜色,例如

    a:link {display:block;}
    a:visited {color:white}
    

    http://jsfiddle.net/NGSs8/5/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      • 1970-01-01
      • 2013-01-30
      相关资源
      最近更新 更多