Google chrome a: посещенное фоновое изображение не работает

(прежде чем я начну, я должен сказать Да, я сделал все проверки глупости, да, ссылка в моей истории и была посещена и т. д.)

Я использую Chrome версии 6.0.472.63, хотя важно, что это работает во всех браузерах.

он работает на Firefox, IE и Opera.

в основном все, что я пытаюсь сделать, это изменить фоновое изображение ссылки, если ссылка была посещена.

Я сделал много проб и ошибок тестирования так, медведь со мной для нескольких примеров.

это то, что у меня было изначально

.forum_box .title a {
 background-image:url(../images/f_unread.png);
 background-position:10px center;
 background-repeat:no-repeat;
 background-color:transparent;
 color:#2D4054;
 font-size:14px;
 padding:10px 12px 10px 44px;
 text-decoration:none;
 display:block;
 font-weight:bold;
}
.forum_box .title a:visited {
 background-image:url(../images/f_read.png);
}

работает в каждом браузере, кроме Chrome. Затем я попытался просто сделать его цветом, а не изображением.

.forum_box .title a:visited {
 background-color:red;
}

то же самое снова, однако я изменил ссылку на #fff вместо прозрачной, а посещенная ссылка изменилась на красный, поэтому, по-видимому, цвет bg работает только если вы установили цвет bg для родителя.

.forum_box .title a {
 background-image:url(../images/f_unread.png);
 background-position:10px center;
 background-repeat:no-repeat;
 background-color:#fff;
 color:#2D4054;
 font-size:14px;
 padding:10px 12px 10px 44px;
 text-decoration:none;
 display:block;
 font-weight:bold;
}
.forum_box .title a:visited {
 background-color:red;
}

однако это все еще не решает мою проблему с изображением. Итак, в одном финале попытка я попробовал это в надежде, что по какой-то причине Chrome будет работать только тогда, когда те же свойства, где присутствуют в обоих.

.forum_box .title a {
 background:#fff url(../images/f_unread.png) no-repeat 10px center;
 color:#2D4054;
 font-size:14px;
 padding:10px 12px 10px 44px;
 text-decoration:none;
 display:block;
 font-weight:bold;
}
.forum_box .title a:visited {
 background:#fff url(../images/f_read.png) no-repeat 10px center;
}

это тоже не сработало и снова продолжало работать над Firefix, Opera и IE. Поэтому я прихожу сюда, чтобы Stack Overflow очень запутался.

любая помощь была бы очень признательна!

обновление: Я попытался решить jQuery, хотя он все еще не работает. Несмотря на наличие: посещенные ссылки, и я могу подтвердить их посещенное состояние изменение цвета шрифта на красный. jQuery ('a:visited').возвращает длину 0.

4 ответов


та же проблема здесь. Изменение фоновой позиции в спрайте CSS на a: visited работает для меня в Firefox 3.6, но не в Chrome 6.

но, вероятно, скоро он перестанет работать в Firefox. (может быть, для FF 4?)

это проблема конфиденциальности, и вы можете прочитать здесь Статью Mozilla об этом (март 2010)http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ И жук: https://bugzilla.mozilla.org/show_bug.cgi?id=147777#c160

Я думаю, что единственным возможным решением является творческое использование цвета фона вместо изображений.


вероятно, это проблема безопасности.
Проверьте это в должности в блоге безопасности mozilla.
Я могу себе представить, как они это сделают.


Chrome, похоже, отключил css для: visited (за исключением цвета ).

Это было бы для предотвращения эксплойта истории обнюхивания.

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


вам могут понадобиться ваши одинарные кавычки вокруг вашего url img... Браузеры забавны, когда они заботятся о котировках, а когда нет....