Por que o wa.me fecha a aba no computador
O botão de WhatsApp que funciona no celular e some no desktop — e o link que resolve.
índice deste post
Num site de cliente, o botão de WhatsApp funcionava no celular e, no meu computador, abria uma aba que fechava sozinha sem mostrar nada. Sem erro, sem aviso.
A causa
O wa.me redireciona para api.whatsapp.com/send, e essa página tenta entregar a conversa para o app instalado pelo protocolo whatsapp://. O navegador pergunta ao Windows se alguém atende esse protocolo.
No registro do Windows existia a chave HKCU:\SOFTWARE\Classes\whatsapp com o valor URL Protocol — mas sem nenhum comando de abertura dentro. Sobra de um WhatsApp Desktop desinstalado. O navegador vê o protocolo registrado, considera a entrega um sucesso, nada abre, e a página fecha a aba.
Para conferir na sua máquina (PowerShell):
Get-ChildItem HKCU:\SOFTWARE\Classes\whatsapp -Recurse
Se a chave existe mas não tem shell\open\command, é isso.
O link que resolve
Não é bug do site, mas quem tem esse registro órfão clica no único botão que importa e nada acontece. Então o link muda conforme o aparelho:
function linkWhatsApp(numero: string, texto: string) {
const celular = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent)
const t = encodeURIComponent(texto)
return celular
? `https://wa.me/${numero}?text=${t}` // abre o app
: `https://web.whatsapp.com/send?phone=${numero}&text=${t}` // sem passar pelo protocolo
}
Para detectar o celular com mais precisão, vale ir do sinal mais confiável para o menos: navigator.userAgentData.mobile (Chrome e afins), depois toque com cara de Mac (o iPad moderno se anuncia como Safari de desktop) e, por último, a expressão no user agent.
Para revisar
Tente responder antes de abrir. Estas perguntas também entram na revisão espaçada .
? Por que o wa.me pode fechar a aba sem abrir nada no Windows?
Ele tenta passar a conversa para o app pelo protocolo whatsapp://. Se o protocolo ficou registrado sem app por trás (sobra de desinstalação), o navegador acha que deu certo, nada abre e a página fecha a aba.
? Qual link de WhatsApp usar no computador?
web.whatsapp.com/send?phone=…&text=… — vai direto para o WhatsApp Web, sem tentar abrir o app.
Este post faz parte da trilha Front-end para negócios pequenos . Lá estão o mapa do assunto e os próximos passos.