Como usar HTML para abrir um link em uma nova guia
As guias são ótimas, não são? Eles permitem que o multitarefa em todos nós faça malabarismos com um monte de tarefas online ao mesmo tempo.
As guias são tão comuns agora que, ao clicar em um link, é provável que ele seja aberto em uma nova guia.
Se você já se perguntou como fazer isso com seus próprios links, você veio ao lugar certo.
O Elemento Âncora
Para criar um link em uma página da web, você precisa envolver um elemento (texto, uma imagem e assim por diante) em um elemento anchor ( ) e definir seu
href
atributo para a URL que deseja vincular.
Check out freeCodeCamp.
Confira freeCodeCamp.
Se você clicar no link acima, o navegador abrirá o link na janela ou guia atual. Este é o comportamento padrão em todos os navegadores.
Para abrir um link em uma nova guia, precisaremos examinar alguns dos outros atributos dos outros atributos do elemento âncora.
O Atributo de Destino
Este atributo informa ao navegador como abrir o link.
Para abrir um link em uma nova guia, basta definir o target
atributo para _blank
:
Check out freeCodeCamp.
Agora, quando alguém clica no link, ele abre em uma nova aba, ou possivelmente em uma nova janela, dependendo das configurações do navegador da pessoa.
Preocupações de segurança com target="_blank"
Eu recomendo fortemente que você sempre adicione rel="noreferrer noopener"
ao elemento âncora sempre que usar o target
atributo:
Check out freeCodeCamp.
Isso resulta na seguinte saída:
Confira freeCodeCamp.
O rel
atributo define a relação entre sua página e o URL vinculado. Definir como noopener noreferrer
evita um tipo de phishing conhecido como tabnabbing.
O que é tabnabbing?
Tabnabbing, às vezes chamado de tabnabbing reverso, é um exploit que usa o comportamento padrão do navegador target="_blank"
para obter acesso parcial à sua página por meio da window.object
API.
Com o tabnabbing, uma página para a qual você cria um link pode fazer com que sua página redirecione para uma página de login falsa. Isso seria difícil para a maioria dos usuários perceber porque o foco estaria na guia que acabou de ser aberta - não na guia original com sua página.
Então, quando uma pessoa voltar para a guia com sua página, ela verá a página de login falsa e poderá inserir seus detalhes de login.
Se você estiver interessado em aprender mais sobre como o tabnabbing funciona e o que os malfeitores podem fazer com o exploit, confira o artigo de Alex Yumashev e este da OWASP.
Se você gostaria de ver um cofrePor exemplo, verifique esta página e seu repositório GitHub para obter mais informações sobre o exploit e o rel
atributo.
Em suma
É fácil usar HTML para abrir um link em uma nova guia. Você só precisa de um elemento anchor ( ) com três atributos importantes:
- O
href
atributo definido para o URL da página que você deseja vincular - O
target
atributo definido como_blank
, que informa ao navegador para abrir o link em uma nova guia / janela, dependendo das configurações do navegador - O
rel
atributo definido comonoreferrer noopener
para evitar possíveis ataques maliciosos das páginas que você vincula
Novamente, aqui está o exemplo funcional de HTML:
Check out freeCodeCamp.
O que resulta na seguinte saída no navegador:
Confira freeCodeCamp.
Obrigado novamente por ler. Boa codificação.