9

我已经在 IE F12 开发人员工具中运行了我的 sharepoint 网站,控制台在我的 HTML 开头提到了以下错误:-

SEC7115: :visited and :link styles can only differ by color. Some styles were not applied to :visited. 

那么这个错误是什么?我该如何解决?谢谢

4

4 回答 4

6

仅更改包含 :visited 或 :link 选择器的 css 规则的颜色属性

http://msdn.microsoft.com/en-us/library/ie/hh180764%28v=vs.85%29.aspx

于 2013-10-03T10:17:33.973 回答
4

这是一项安全功能。这个问题也涉及相同的问题,并包含指向此页面的链接,该页面内容丰富且有趣。

基本上,:visited它可能会给用户带来严重的安全风险(例如,与 结合使用时getComputedStyle()),因此浏览器会严格限制您可以使用它执行的操作。

要修复它,请从 CSS 元素选择器列表中删除 a:visited(传统上,一些样式表结合了所有 a 伪类:)a:link, a:visited, a:hover, a:active { styles here }并单独设置样式,仅应用颜色。

于 2015-10-28T01:13:08.287 回答
2

通常警告

SEC7115: :visited and :link styles can only differ by color. Some styles were not applied to :visited. 

是误报。Internet Explorer“F12 开发工具”不够聪明,无法弄清楚

a:link, a:visited { border: solid red 1px; }

不是信息泄漏甚至强硬getComputedStyle()被使用。如在https://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/https://dbaron.org/mozilla/visited-privacy中解释的,如果:visited视觉上不同于:link和JavaScript 可以检测到这种差异,JS 可以暴力破解浏览器历史记录。

但是,这种情况下的 IE 检测很差,以至于它无法确定:link(unvisited link) 和:visited(visited link) 之间没有视觉差异。我猜启发式方法只是if (selector_contains_visited && rule_contains_property_other_than_color) { emit_warning(); }.

不幸的是,您无法解决这个问题。大多数用户代理都有默认样式表,要求作者样式表同时匹配:link:visited(因为普通用户代理不支持同时匹配未访问和已访问链接的伪选择器,并且特异性规则要求至少使用一个伪选择器)。因此,:link, :visited {...}如果规则块包含除color.

于 2017-05-04T07:12:51.740 回答
0

一种可能性是将现有链接的颜色直接分配给 a:link 或 a:hover。这不会触发 IE 的警告。

a {
    color: blue;
}

a:link {
    text-decoration: none;
}

a:visited {
    color: blue;
}
于 2021-01-21T22:20:26.470 回答