Pergunta

site My SharePoint precisa preservar a: visited estilo definido em CSS para os links. Eu adicionei o seguinte código, que acrescenta "& Source = /" para cada href. Parece que, alterando a href via jQuery, o navegador apenas "vê" a href original e, portanto, nunca provoca a: visited estilo como não há nenhum jogo ...

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

Solução

Parece que o IE não suporta estilos :visited em links atualizados dinamicamente. Eu só testado IE8, mas se ele não funciona na versão mais recente, eu não esperar que ele funcione no IE 6/7

IE suporta apenas o cenário mais básico onde um visitante clica em um link que navega para uma página diferente e, em seguida, clica no botão Voltar para retornar à página anterior. Só então o link exibir seu estilo :visited.

Ele funciona perfeitamente no Firefox 3 embora; ligações são denominados corretamente mesmo quando os seus atributos href são atualizados através de javascript.

Eu criei uma página de teste que permite que você experimente vários links e métodos: http://jsbin.com/ odoqo (editável via http://jsbin.com/odoqo/edit )

Nota: Eu tenho usado apenas a página de teste no Firefox 3 e IE 8, ele provavelmente vai quebrar no IE 6/7

Outras dicas

Adicionando o parâmetro de string de consulta faz com que o navegador vê-lo como uma URL completamente diferente, um que não tenha sido visitado. O navegador tem nenhuma maneira de saber que o parâmetro Fonte não muda o destino do link.

Outra coisa a olhar é como específica seus estilos são - às vezes "mesa de uma" substituirá "a: visited". Então, você precisa "mesa a: visited" também

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top