navigator.share()
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
share() は Navigator インターフェイスのメソッドで、テキスト、URL、ファイルなどのデータを共有するために、端末のネイティブ共有メカニズムを呼び出します。利用できる共有ターゲットは機器によって異なりますが、クリップボード、連絡先やメールアプリケーション、ウェブサイト、Bluetooth などが含まれる場合があります。
このメソッドは Promise を undefined で解決します。 Windows では、これは共有ポップアップが起動されたときに発生し、Android では、データが共有ターゲットに正常に渡されたときにプロミスが解決されます。
ウェブ共有 API は、web-share 権限ポリシーで制限されます。 share() メソッドは、その権限に対応してはいるが許可されていない場合に例外を発生させます。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 128 | 93 | 71 | 12.1 | 61 | 12.2 | |
| DOM API | ||||||
| canShare() は Navigator インターフェイスのメソッドで、同等の navigator.share() の呼び出しが成功するようであれば true を返します。 | 128 | 93 | 96 | 14 | 75 | 14 |
canShare (data files parameter) data.files`パラメータ | 89 | 81 | | 14 | 76 | 14 |
canShare (data text parameter) data.text`パラメータ | 89 | 81 | 96 | 14 | 76 | 14 |
share (data files parameter) data.files`パラメータ | 89 | 81 | | 14 | 76 | 14 |
share (data text parameter) data.text`パラメータ | 89 | 81 | 71 | 14 | 76 | 14 |
| その他 | ||||||
html.elements.iframe.allow.web-share | 86 | 86 | 81 | | 86 | |
| HTTP の Permissions-Policy ヘッダーにおける web-share ディレクティブは、現在の文書がウェブ共有 API の Navigator.share メソッドを使用して、テキスト、リンク、画像、その他のコンテンツをユーザーが選択した任意の宛先にシェアすることを許可するかどうかを制御します。 | 88 | 88 | | | 88 | |
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (128)
- ChromeOSとWindowsでのみサポートされています。バグ40542648とバグ40729163を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (93)
- Windowsのみ対応。
- ブラウザの実験的フラグを有効にする必要があります
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (128)
- ChromeOSとWindowsでのみサポートされています。バグ40542648とバグ40729163を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (93)
- Windowsのみ対応。
- ブラウザの実験的フラグを有効にする必要があります
- ブラウザの実験的フラグを有効にする必要があります
- ブラウザの実験的フラグを有効にする必要があります
- Firefoxは`web-share`パーミッションポリシーを認識しますが、`share()`メソッドをサポートしていないバージョンのFirefoxでは効果がありません。
基本構文
await navigator.share({
title: 'Page Title',
text: 'Recommended Articles',
url: 'https://example.com/article'
}); 実務での使いどころ
-
navigator.share() の活用
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
注意点
- 一部のブラウザでのみ対応。使用前にブラウザサポートを確認すること。
アクセシビリティ
- スクリーンリーダーでの読み上げを確認すること。