Navigator.share()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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:

js
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

Specification
Web Share API
# share-method

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
share
data.files parameter
data.text parameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
See implementation notes.
User must explicitly enable this feature.
Has more compatibility info.

Veja também