1

我在使用 IE 8 时遇到问题,其中访问的链接颜色在我们的应用程序中没有改变。

IE6 没有这个问题。使用 IE6 时,如果链接之前已查看过,则访问过的链接会更改其颜色。我们的应用程序在 IE6 上运行良好,但在 IE8 上访问的链接不会改变其颜色。

有关信息,我已清除历史记录,取消选中浏览器选项中的“使用 Windows 颜色”选项。但是我们应用程序中的链接始终未被访问。

这是CSS:

a:link {
    color : #006000;
}

a:visited {
    color : #3CB371;
}

任何帮助和建议将不胜感激。

4

1 回答 1

3

:visited样式存在安全问题。

简而言之,恶意站点可以通过链接到它想要检查的所有站点的链接来找出您访问过的站点,然后只检查这些链接的颜色。

大约三年前,这个问题得到了很多宣传,结果 IE 和所有其他浏览器都发布了禁用该:visited样式的补丁。

我找不到特定于 IE 的链接,但这里有一个来自 Mozilla 的链接,描述了该问题及其在 Firefox 中的解决方案

较旧的浏览器(IE6、IE7)仍将支持该:visited样式,但 IE8 和所有其他当前浏览器不支持。

其中一些确实支持它作为用户可配置的选项,但默认为关闭,但很少有用户会打开它,所以你基本上可以忽略它。

最近,一些浏览器重新启用了该样式,但更改了 JavascriptgetComputedStyle()函数,使其忽略访问过的样式。这允许最终用户查看访问的颜色,但防止黑客找到信息的可能性。我认为 IE8 从来没有得到这个更新。

于 2013-03-25T17:08:02.543 回答