2010-09-24 11 views
11

(prima di iniziare dovrei dire di sì, ho fatto tutti i controlli stupidità, sì, il link è nella mia storia ed è stato visitato, ecc)Google Chrome uno: immagine di sfondo visitato non funziona

sto usando Chrome versione 6.0.472.63, sebbene sia importante che funzioni su tutti i browser.

Funziona su Firefox, IE e Opera.

Fondamentalmente tutto quello che sto cercando di fare è cambiare l'immagine di sfondo di un link se il link è stato visitato.

Ho fatto un sacco di prove ed errori test così nudi con me per più esempi.

Questo è quello che avevo originariamente

 
.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); 
} 

Opere in tutti i browser tranne Chrome. Poi ho provato a renderlo un colore piuttosto che un'immagine.

di nuovo lo stesso, ma ho cambiato il link per #fff invece di trasparente e la link visitato cambiato colore rosso, così apparentemente il colore bg funziona solo se si imposta un colore bg per il genitore.

 
.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; 
} 

Tuttavia, non risolve ancora il problema dell'immagine. Quindi, in un ultimo tentativo, ho provato questo con la speranza che, per qualche motivo, Chrome potesse funzionare solo quando le stesse proprietà erano presenti in entrambi.

 
.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; 
} 

Che non ha funzionato entrambi e ancora ha continuato a lavorare su Firefix, Opera e IE. Quindi vengo qui per Stack Overflow molto confuso.

Qualsiasi aiuto sarebbe molto apprezzato!

UPDATE: Ho tentato una soluzione jQuery, sebbene non funzioni ancora. Pur avendo: collegamenti visitati e posso confermare il loro stato visitato cambiando il colore del carattere in rosso. jQuery ('a: visited'). restituisce 0.

+0

Puoi farlo jsfiddle? –

+0

Ciò sarebbe possibile, ad esempio, potrei fare jQuery ('. Forum_box .title a: visited'). AddClass ('visited') e quindi usare la classe per lo stile. Ma supponevo che ci sarebbe stata un'altra soluzione piuttosto che Chrome intrinsecamente imperfetto su una delle proprietà CSS più antiche e basilari. – robjbrain

+0

So che questo non risolve il problema in questo momento, ma potresti sempre inviare un bug ... http://code.google.com/p/chromium/issues/entry – EJC

risposta

12

Lo stesso problema qui. Cambiare la posizione dello sfondo in uno Sprite CSS su: visitato funziona per me in Firefox 3.6 ma non in Chrome 6.

Ma probabilmente presto smetterà di funzionare anche in Firefox. (Forse per FF 4?)

E 'un problema di privacy, e si può leggere qui un articolo di Mozilla su di esso (marzo 2010) http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/ E il bug: https://bugzilla.mozilla.org/show_bug.cgi?id=147777#c160

Penso solo possibile soluzione è quella di utilizzare creativamente il colore di sfondo al posto delle immagini.

+0

Non penso che il colore di sfondo funzionerebbe. AFAIK nel suo insieme: il selettore visitato verrà completamente ignorato. –

0

Potrebbe essere necessario le tue virgolette singole intorno al tuo img url ... I browser sono divertenti quando si preoccupano delle citazioni e quando non lo fanno ...

+0

Questo non ha fatto alcuna differenza, ma grazie per il suggerimento! – robjbrain

+0

Spiacente non è stato più utile, questo sembra un problema molto strano. Come ho detto sopra, inserirò un bug per questo nel progetto web chromium e penserei che risolverebbero qualcosa del genere abbastanza rapidamente dato che è una funzionalità base di html/css. – EJC

3

È probabilmente un problema di sicurezza.
Controlla questo post sul blog di sicurezza di Mozilla.
Posso certamente immaginare come lo farebbero.

Problemi correlati