Google chrome a: la imagen de fondo visitada no funciona
Frecuentes
Visto 12,854 equipos
12
(antes de comenzar debo decir que sí, he hecho todas las comprobaciones de estupidez, sí, el enlace está en mi historial y ha sido visitado, etc.)
Estoy usando la versión 6.0.472.63 de Chrome, aunque es importante que funcione en todos los navegadores.
Funciona en Firefox, IE y Opera.
Básicamente, todo lo que intento hacer es cambiar la imagen de fondo de un enlace si el enlace ha sido visitado.
He hecho muchas pruebas de prueba y error, así que tengan paciencia conmigo para ver varios ejemplos.
Esto es lo que tenia originalmente
.forum_box .title a {background-image: url (../ images / f_unread.png); posición de fondo: centro de 10px; repetición de fondo: no repetición; color de fondo: transparente; color: # 2D4054; tamaño de fuente: 14px; relleno: 10px 12px 10px 44px; decoración de texto: ninguna; bloqueo de pantalla; font-weight: negrita; } .forum_box .title a: visitado {background-image: url (../ images / f_read.png); }
Funciona en todos los navegadores excepto Chrome. A continuación, intenté convertirlo en un color en lugar de una imagen.
.forum_box .title a: visitado {color de fondo: rojo; }
Lo mismo de nuevo, sin embargo, cambié el enlace a #fff en lugar de transparente y el enlace visitado cambió a rojo, por lo que aparentemente el color bg solo funciona si establece un color bg para el padre.
.forum_box .title a {background-image: url (../ images / f_unread.png); posición de fondo: centro de 10px; repetición de fondo: no repetición; color de fondo: #fff; color: # 2D4054; tamaño de fuente: 14px; relleno: 10px 12px 10px 44px; decoración de texto: ninguna; bloqueo de pantalla; font-weight: negrita; } .forum_box .title a: visitado {color de fondo: rojo; }
Sin embargo, todavía no resuelve mi problema de imagen. Entonces, en un último intento, probé esto con la esperanza de que, por alguna razón, Chrome solo funcionara cuando las mismas propiedades estuvieran presentes en ambos.
.forum_box .title a {background: #fff url (../ images / f_unread.png) centro de 10px sin repetición; color: # 2D4054; tamaño de fuente: 14px; relleno: 10px 12px 10px 44px; decoración de texto: ninguna; bloqueo de pantalla; font-weight: negrita; } .forum_box .title a: visitado {background: #fff url (../ images / f_read.png) no repetir 10px centro; }
Eso tampoco funcionó y nuevamente continuó funcionando en Firefix, Opera e IE. Así que vengo aquí a Stack Overflow muy confundido.
Cualquier ayuda sería muy apreciada!
ACTUALIZACIÓN: intenté una solución jQuery, aunque todavía no funciona. A pesar de tener: enlaces visitados y puedo confirmar su estado visitado cambiando el color de la fuente a rojo. jQuery ('a: visitado'). length devuelve 0.
5 Respuestas
15
El mismo problema aqui. Cambiar la posición de fondo en un Sprite de CSS en un: visitado me funciona en Firefox 3.6 pero no en Chrome 6.
Pero probablemente pronto dejará de funcionar también en Firefox. (¿tal vez para FF 4?)
Es un problema de privacidad, y puede leer aquí un artículo de Mozilla al respecto (marzo de 2010) http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ Y el error: https://bugzilla.mozilla.org/show_bug.cgi?id=147777#c160
Creo que la única solución posible es utilizar creativamente el color de fondo en lugar de imágenes.
Respondido 01 Oct 10, 21:10
No creo que el color de fondo funcione. AFAIK el todo: el selector visitado será completamente ignorado. - Bart van Heukelom
3
Chrome parece haber desactivado css para: visitado (excepto para el color).
Esto sería para evitar el exploit de rastreo de historia.
Respondido 07 Oct 10, 17:10
0
Es posible que necesite sus comillas simples alrededor de su URL de img ... Los navegadores son divertidos cuando se preocupan por las comillas y cuando no ...
Respondido el 24 de Septiembre de 10 a las 17:09
Eso no hizo ninguna diferencia, ¡pero gracias por la sugerencia! - Juan Mellor
Lo siento, no fue más útil, esto parece un problema muy extraño. Como dije anteriormente, presentaría un error en el proyecto web de chromium y creo que solucionarían algo como esto con bastante rapidez, ya que es una funcionalidad básica de html / css. - EJC
0
Esto se hace por razones de seguridad, ya que era posible cargar una gran cantidad de imágenes diferentes y detectar qué enlaces había visitado el usuario, cualquier propiedad enviando una solicitud específica, o cargando un recurso específico, dependiendo de lo que técnicamente haya visitado el usuario. como una cuestión de seguridad, ya que puede filtrar los intereses personales del usuario.
https://blog.jeremiahgrossman.com/2006/08/i-know-where-youve-been.html
respondido 23 nov., 18:17
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas css google-chrome background-image visited or haz tu propia pregunta.
Eso sería posible, por ejemplo, podría hacer jQuery ('. Forum_box .title a: visitado'). AddClass ('visitado') y luego usar la clase para diseñar. Pero asumí que habría otra solución en lugar de que Chrome tuviera fallas inherentes en una de las propiedades CSS más antiguas y básicas. - John Mellor
Sé que esto no resuelve tu problema en este momento, pero siempre puedes enviar un error ... code.google.com/p/chromium/issues/entry - EJC
¿Ha intentado utilizar el Inspector web para mostrar qué estilos se están aplicando al
a:visited
¿Enlaces? (Web Inspector: ctrl + shift + i, elija 'elementos' y navegue y haga clic en los enlaces en el panel de elementos). - David says reinstate MonicaLo siento, no estoy seguro de por qué no respondí a esto antes, debí estar absorto en algo. Web Inspector no muestra ninguno de los estilos visitados, incluso el color: rojo; que funciona bien, no aparece (aunque sí aparece en estilo calculado). - John Mellor
Buena pregunta. Parece que ya se ha presentado un error contra Chrome: code.google.com/p/chromium/issues/detail?id=44043. Es posible que desee agregar su confirmación allí. - Heretic Monkey