Navigator.share()

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

Navigator.share() メソッドは、 Web Share API の一部としてのネイティブの共有メカニズムを呼び出します。

構文

var sharePromise = navigator.share(data);

引数

data
シェアするデータを含むオブジェクトです。以下のフィールドのうち少なくとも一つを指定しなければなりません。利用可能なオプションは下記のとおりです。
  • url: シェアする URL を表す USVString
  • text: シェアするテキストを表す USVString
  • title: シェアするタイトルを表す USVString

返値

ユーザーがシェア操作を完了させたとき (ふつうはユーザーがシェア先のアプリケーションを選択したとき) に解決する Promise (en-US) です。引数 data が正しく指定されなかった場合は直ちに拒否され、ユーザーがシェアをキャンセルした場合も拒否されます。

ウェブシェアテスト (ソースコードを参照) では、ボタンが一つあり、クリックすると Web Share API を呼び出して MDN の URL をシェアします。 JavaScript は以下のようになります。

const shareData = {
  title: 'MDN',
  text: 'MDN でウェブ開発を学びましょう。',
  url: 'https://developer.mozilla.org',
}

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

// Must be triggered some kind of "user activation"
btn.addEventListener('click', async () => {
  try {
    await navigator.share(shareData)
    resultPara.textContent = 'MDN shared successfully'
  } catch(err) {
    resultPara.textContent = 'Error: ' + e
  }
});

仕様書

仕様書 状態 備考
Web Share API
share() の定義
ドラフト

ブラウザーの互換性

BCD tables only load in the browser

関連情報