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 (за исключением цвета ).
Это было бы для предотвращения эксплойта истории обнюхивания.
вам могут понадобиться ваши одинарные кавычки вокруг вашего url img... Браузеры забавны, когда они заботятся о котировках, а когда нет....