12

(在我开始之前,我应该说是的,我已经完成了所有的愚蠢检查,是的,链接在我的历史记录中并且已经被访问过等)

我使用的是 Chrome 版本 6.0.472.63,尽管它适用于所有浏览器很重要。

它适用于 Firefox、IE 和 Opera。

基本上,我要做的就是在链接已被访问时更改链接的背景图像。

我已经做了很多试验和错误测试,所以请耐心等待多个示例。

这是我最初的

.forum_box .title 一个 {
 背景图像:url(../images/f_unread.png);
 背景位置:10px 中心;
 背景重复:不重复;
 背景颜色:透明;
 颜色:#2D4054;
 字体大小:14px;
 填充:10 像素 12 像素 10 像素 44 像素;
 文字装饰:无;
 显示:块;
 字体粗细:粗体;
}
.forum_box .title a:访问过{
 背景图像:url(../images/f_read.png);
}

适用于除 Chrome 之外的所有浏览器。接下来,我尝试将其设置为颜色而不是图像。

.forum_box .title a:访问过{
 背景颜色:红色;
}

再次相同,但是我将链接更改为 #fff 而不是透明的,并且访问的链接变为红色,因此显然 bg 颜色仅在您为父级设置 bg 颜色时才有效。

.forum_box .title 一个 {
 背景图像:url(../images/f_unread.png);
 背景位置:10px 中心;
 背景重复:不重复;
 背景颜色:#fff;
 颜色:#2D4054;
 字体大小:14px;
 填充:10 像素 12 像素 10 像素 44 像素;
 文字装饰:无;
 显示:块;
 字体粗细:粗体;
}
.forum_box .title a:访问过{
 背景颜色:红色;
}

但是它仍然不能解决我的图像问题。因此,在最后一次尝试中,我尝试了这个,希望由于某种原因,Chrome 只能在两者都存在相同属性时才能工作。

.forum_box .title 一个 {
 背景:#fff url(../images/f_unread.png) no-repeat 10px center;
 颜色:#2D4054;
 字体大小:14px;
 填充:10 像素 12 像素 10 像素 44 像素;
 文字装饰:无;
 显示:块;
 字体粗细:粗体;
}
.forum_box .title a:访问过{
 背景:#fff url(../images/f_read.png) 不重复 10px 中心;
}

这也不起作用,然后继续在 Firefix、Opera 和 IE 上工作。所以我来到这里对 Stack Overflow 很困惑。

任何帮助将不胜感激!

更新:我尝试了一个 jQuery 解决方案,尽管它仍然不起作用。尽管有 :visited 链接,但我可以通过将字体颜色更改为红色来确认它们的访问状态。jQuery('a:visited').length 返回 0。

4

5 回答 5

15

这里同样的问题。在 a:visited 上更改 CSS Sprite 中的背景位置在 Firefox 3.6 中对我有用,但在 Chrome 6 中无效。

但可能很快它也会停止在 Firefox 中工作。(也许是FF 4?)

这是一个隐私问题,您可以在此处阅读有关它的 Mozilla 文章(2010 年 3 月)http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ 和错误: https://bugzilla.mozilla.org/show_bug.cgi?id=147777#c160

我认为唯一可能的解决方案是创造性地使用背景颜色而不是图像。

于 2010-10-01T20:24:30.570 回答
3

这可能是一个安全问题。
查看Mozilla 安全博客上的这篇文章
我当然可以想象他们会怎么做。

于 2010-09-28T02:12:53.417 回答
3

Chrome 似乎禁用了 :visited 的 css (除了 color )。

这将是为了防止历史嗅探漏洞。

http://www.azarask.in/blog/post/socialhistoryjs/

于 2010-10-07T16:18:17.333 回答
0

你可能需要在你的 img url 周围加上单引号……浏览器很有趣,他们什么时候关心引号,什么时候不关心……

于 2010-09-24T16:35:08.363 回答
0

这样做是出于安全原因,因为可以加载许多不同的图像并检测用户访问过哪些链接、发送特定请求的任何属性或加载特定资源,具体取决于用户访问过的内容在技术上是可见的作为一个安全问题,因为它可能会泄露用户的个人利益。

https://blog.jeremiahgrossman.com/2006/08/i-know-where-youve-been.html

于 2018-11-23T17:07:19.707 回答