Navigator.share()

Esta tradução está incompleta. Ajude a traduzir este artigo em inglês

Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

O método navigator.share() da API de compartilhamento da Web chama o mecanismo de compartilhamento nativo do dispositivo.

Sintaxe

var sharePromise = navigator.share(data);

Parâmetros

data
Um objeto que contém dados para compartilhar. Pelo menos um dos seguintes campos deve ser especificado. As opções disponíveis são:
  • url: Um USVString representando uma URL a ser compartilhada.
  • text: Um USVString representando texto a ser compartilhado.
  • title: Um USVString representando o título a ser compartilhado.

Valor de retorno

Um Promise que será cumprido assim que um usuário concluir uma ação de compartilhamento (geralmente o usuário escolheu um aplicativo para compartilhar). Ele rejeitará imediatamente se o parâmetro de dados não estiver especificado corretamente e também rejeitará se o usuário cancelar o compartilhamento.

Exemplos

Em nosso teste de compartilhamento na Web (consulte o código-fonte), há um botão que, quando clicado, invoca a API de compartilhamento na Web para compartilhar o URL da MDN. O JavaScript fica assim:

const shareData = {
  title: 'MDN',
  text: 'Aprenda desenvolvimento web no MDN!',
  url: 'https://developer.mozilla.org',
}

const btn = document.querySelector('button');
const resultPara = document.querySelector('.result');

// Deve ser acionado algum tipo de "ativação do usuário"
btn.addEventListener('click', async () => {
  try {
    await navigator.share(shareData)
  } catch(err) {
    resultPara.textContent = 'Error: ' + e
  }
  resultPara.textContent = 'MDN compartilhado com sucesso!'
});

Especificações

Especificação Status Comment
Web Share API
The definition of 'share()' in that specification.
Rascunho

Compatibilidade do navegador

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
share
Experimental
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support 12.1WebView Android No support NoChrome Android Full support 61Firefox Android No support NoOpera Android Full support 48Safari iOS Full support 12.2Samsung Internet Android Full support 8.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

Veja também