href alterando com jQuery não desencadeia uma: Estilo visitou
-
10-07-2019 - |
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=/';
});
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
Confira esta pergunta / resposta:
Depois de visitar as ligações , Firefox ignora seletivamente mudança de estado ou a: visited styling
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