Como criar W3C- ou Gmail-esque #anchor “links”?
-
20-08-2019 - |
Pergunta
Se você usa o Gmail, você verá URLs na barra de endereços como:
https://mail.google.com/mail/#inbox
https://mail.google.com/mail/#starred
Se você vai para uma dessas URLs, ele irá pular direto para a vista correspondente.
Um exemplo semelhante é a http://validator.w3.org onde as âncoras #validate_by_uri
, e #validate_by_upload
#validate_by_input
cada auto-foco guias diferentes.
Como são essas coisas? Será que o uso página Javascript para detectar a âncora em seguida, mudar vista para você? Como você impedir que a página de rolagem para a posição de âncora?
Solução
A página usa JavaScript para avaliar a propriedade "hash
" do objeto window.location
.
Go testá-lo desativando o JavaScript. Pelo menos com a página validador isso produz um resultado surpreendente.
Outras dicas
YUI inclui um href="http://developer.yahoo.com/yui/history/" rel="nofollow noreferrer"> gerente história que implementa isso para você. Exame da código fonte deve ajudar a compreender como ele funciona.