🕸 A Web Share API dá acesso ao fluxo nativo de compartilhamento da plataforma em que sua aplicação web está sendo executada — o mesmo “share sheet” que apps nativos usam.
await navigator.share({
title: "...",
url: "...",
text: "...",
});
✅ Antes de chamar navigator.share(), você pode usar navigator.canShare() para validar se o conteúdo (incluindo arquivos) é suportado:
if (navigator.canShare && navigator.canShare({ files: [arquivo] })) {
await navigator.share({ files: [arquivo], title: "..." });
}
✨ O suporte hoje é bom em Chrome (Android e ChromeOS), Edge, Safari (iOS e macOS). Firefox ainda não suporta — confira o status no Can I Use. Para fallback, vale ter um botão tradicional de compartilhamento em redes sociais ou a biblioteca share-api-polyfill.
⚠️ Lembre-se: navigator.share() precisa ser chamado a partir de uma interação do usuário (click, tap), caso contrário o browser bloqueia a chamada.