Navigator.share()

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

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

構文

var sharePromise = navigator.share(data);

引数

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

返値

ユーザーがシェア操作を完了させたとき (ふつうはユーザーがシェア先のアプリケーションを選択したとき) に解決する Promise です。引数 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() の定義
ドラフト

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
share
実験的
Chrome 未対応 なしEdge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 未対応 なしSafari 完全対応 12.1WebView Android 未対応 なしChrome Android 完全対応 61Firefox Android 未対応 なしOpera Android 完全対応 48Safari iOS 完全対応 12.2Samsung Internet Android 完全対応 8.0

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。

関連情報