Domanda

Il mio sito di SharePoint deve preservare lo stile a: visitato definito nei CSS per i collegamenti. Ho aggiunto il seguente codice, che aggiunge " & amp; Source = / " ad ogni href. Sembra che cambiando href tramite jQuery, solo il browser "vede". l'originale href e quindi non innesca mai lo stile a: visitato in quanto non c'è corrispondenza ...

        $("table[class='ms-listviewtable'] td[class='ms-vb2'] a")
            .removeAttr("onclick")
            .attr('href', function(){
                return $(this).attr('href') + '&Source=/'; 
            });
È stato utile?

Soluzione

Sembra che IE non supporti gli stili : visitati su collegamenti aggiornati dinamicamente. Ho testato solo IE8 ma se non funziona nell'ultima versione, non mi aspetto che funzioni in IE 6/7

IE supporta solo lo scenario più semplice in cui un visitatore fa clic su un collegamento che passa a una pagina diversa e quindi fa clic sul pulsante Indietro per tornare alla pagina precedente. Solo allora il link visualizza il suo stile : visitato .

Funziona perfettamente su Firefox 3; i collegamenti sono disegnati correttamente anche quando i loro attributi href vengono aggiornati tramite javascript.

Ho creato una pagina di prova che ti consente di provare vari link e metodi: http://jsbin.com/ odoqo (modificabile tramite http://jsbin.com/odoqo/edit )

Nota: ho usato solo la pagina di prova in Firefox 3 e IE 8, probabilmente si romperà in IE 6/7

Altri suggerimenti

L'aggiunta del parametro della stringa di query fa sì che il browser lo veda come un URL completamente diverso, che non è stato visitato. Il browser non ha modo di sapere che il parametro Source non cambia la destinazione del collegamento.

Un'altra cosa da vedere è quanto siano specifici i tuoi stili - a volte "tabella a" sostituirà "a: visitato" quindi è necessario " tabella a: visitato " anche.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top