a:访问不是在Mozilla上运行,但在IE上工作正常

时间:2011-03-07 15:39:43

标签: css

a:访问过的功能在我的IE上工作正常但在mozilla上没有。它对Mozilla没有影响。 Css类是

            ul#menu1 li a:link, a:visited { 
    display: block; height: 18px; padding: 5px 0 6px 15px;
    text-decoration: none; clear: both; color: #666; 
             }

4 个答案:

答案 0 :(得分:16)

由于安全性问题,visited样式已从最近版本的Firefox(以及大多数其他浏览器)中删除。

问题在于恶意网站可以通过使用它来计算您的浏览历史记录 - 它们会设置visited颜色,产生大量网址(甚至是隐藏的网址,因此用户不知道它),并检查他们的颜色。几年前,它在浏览器安全圈中引起了相当大的噪音。

通过转到安全首选项,可以在Firefox中重新启用visited功能,但默认情况下会禁用它,大多数用户都会关闭它。

请点击此处了解有关此问题以及Firefox如何修复问题的详细信息:http://blog.mozilla.com/security/2010/03/31/plugging-the-css-history-leak/

答案 1 :(得分:4)

尝试更改您的订单,使其成为:link,:visited,:hover,:active

还要确保将Mozilla选项设置为记住您的浏览历史记录。如果它不记得历史记录,则无法知道您访问过的内容。

编辑:看起来Mozilla看起来并没有禁用区分访问过的链接的能力,但似乎它们限制了您可以使用的属性。有关详细信息,请参阅here

答案 2 :(得分:1)

让你的选择器更具体

ul#menu1 li a:link, ul#menu1 li a:visited { 
  //code here  
}

请注意,我在 a:已访问

前添加了ul#menu1 li

您目前所拥有的内容并未指明有问题的 a:已访问 ul#menu1 li 标记内的

答案 3 :(得分:0)

尝试改变你的选择器:

#menu1 a:link, #menu1 a:visited { ... }

它应该将css应用于所有a:visit或a:链接,其中id为menu1