Como fazer para abrir link em nova aba com JavaScript
Neste artigo você vai aprender a abrir link em nova aba com JavaScript, ou seja, a partir de um evento uma nova aba será aberta no navegador

Fala programador(a), beleza? Bora aprender mais sobre JavaScript e também o comportamento do navegador para abrir novas abas!
Você já deve saber que para abrir uma aba em HTML puro precisamos do atributo _blank, inserido na tag de link
Bom, para JavaScript também vamos utilizar ele e também a função open do objeto global window
Vamos ver um exemplo prático da solução:
<button id="btn">Clique em mim</button>
Primeiramente vamos adicionar um HTML, que será um botão
Quando clicarmos nesse botão uma nova aba será aberta, com o link que determinarmos
Então agora vejamos o JavaScript necessário para atingir o objetivo:
var url = "https://www.google.com";
var btn = document.querySelector("#btn");
function openInNewTab(url) {
var win = window.open(url, '_blank');
win.focus();
}
btn.addEventListener('click', function() {
openInNewTab(url);
});
Primeiramente colocamos em variáveis a URL que vamos enviar para a nova aba e depois na segunda variável selecionamos o botão que vai fazer o evento de nova aba
Temos também a função de abrir em nova aba, que simplesmente ativa a função open com o atributo _blank, isso faz com que uma nova aba seja aberta
E por último focus, para focar na recém aberta aba
No fim do cógio há o trecho de evento, onde o click do botão ativa a função openInNewTab, que abre em nova aba a URL antes adicionada a variável
E assim resolvemos nosso problema!
Conclusão
Neste artigo você aprendeu a como abrir link em nova aba com JavaScript
Utilizamos a função open com o atributo _blank, para ativar uma nova aba, e inserimos a URL desejada como parâmetro
Atrelamos o evento a um click, mas na verdade ele pode ter qualquer evento desejado, fiz desta maneira para simular uma possível situação real
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Adicionar um bloco curto mostrando a versão em HTML puro completa, já que muita gente cai aqui buscando abrir link em nova aba sem JS
Subtítulo sugerido: "Abrir link em nova aba só com HTML:"
Texto: Se o teu caso é só um link normal, nem precisa de JavaScript
Basta jogar o target="_blank" na tag de âncora e pronto, o navegador já abre em nova aba
Um exemplo bem direto:
[bloco de código com <a href="https://www.google.com" target="_blank" rel="noopener noreferrer">Abrir Google</a>]
Repara no rel="noopener noreferrer" ali do lado
Ele é importante por segurança e performance, sem ele a nova aba consegue mexer na página que abriu ela
Se liga nisso pra não deixar brecha
Adicionar uma seção que antecipa o erro mais comum de quem usa window.open, o bloqueador de pop-up
Subtítulo sugerido: "E se a nova aba não abrir?"
Texto: Aqui tem uma pegadinha que já ferrou muita gente
O window.open costuma funcionar quando é o próprio usuário que dispara a ação, tipo um clique
Se tu tentar abrir a aba sozinho, dentro de um setTimeout ou logo que a página carrega, o navegador entende como pop-up indesejado e bloqueia
Então a regra de ouro é: chame o window.open dentro de um evento de clique real, igual fizemos no exemplo do botão
Assim o navegador confia que foi o usuário que pediu e deixa a aba abrir numa boa
Adicionar um mini FAQ com 2 perguntas rápidas, formato que responde busca direta
Pergunta: "Qual a diferença entre target=_blank e window.open?" Resposta: O target="_blank" é a forma nativa do HTML, ideal quando é um link simples
Já o window.open é do JavaScript e serve quando tu precisa abrir a aba a partir de uma lógica, tipo depois de validar algo ou dentro de uma função
Pergunta: "Dá pra abrir mais de uma aba de uma vez?" Resposta: Dá sim, é só chamar o window.open mais de uma vez
Mas cuidado, o navegador pode barrar as aberturas seguidas achando que é pop-up, então use com parcimônia
Leia também
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
As diferenças de var, let e const

Como redirecionar para outra página com JavaScript

Como fazer POST com Fetch API
Neste artigo vou te mostrar como POST com Fetch API, vamos aplicar o recurso de forma fácil com o fetch. Fala programador(a), beleza? Bora aprender […]
