为什么不这样:访问过css风格的工作?

joh*_*nny 16 css cross-browser

有什么理由说这不适用于Internet Explorer或Chrome:

<html>
    <head>
        <style>
            A {font-weight: bold; color:black;}
            A:visited {font-weight: normal; color: black; }
            .Empty {font-weight: bold; color: black; }
        </style>
    </head>

    <body>
        <a href="http://mysite">click me</a>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我点击的链接永远不会正常,只是保持粗体.在其他一些浏览器上它可以运行

编辑:更改案例不会影响它.

编辑:将a更改为:链接不会影响它.

编辑:改变颜色工作,而不是字体重量.

编辑:解决方法是更改​​辅助功能以忽略Web颜色.我没有访问源,所以我必须这样做.

dur*_*uri 32

实际上,这与区分大小写无关.这是一项安全功能.:visited伪类的功能在许多现代浏览器(Fx4,IE9,Chrome)中受到限制,以防止CSS漏洞利用:在此处阅读它.

如今,getComputedStyle()在这些浏览器中,通常会返回访问链接的值,就好像它们没有被访问过一样.不过,我可以简单地想像的是规避:使用font-weight用于访问过的链接,该元素的宽度变化,使浏览器将允许改变font-weight:visited链接实际上不会修复这个安全漏洞.

因此,这个问题没有解决方法.