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

BCD tables only load in the browser

Veja também