手機 App 可以透過原生介面實現分享功能,而 Web Share API 可以協助我們在 Android 或 IOS 網頁上做到類似像 App 的分享功能,主要是透過作業系統原生介面分享,可以輕鬆地將內容分享至第三方平台(Facebook、Twitter、Line…),分享內容可以為連結、文字或是檔案。
廣告
方法介紹
Navigator.share()
回傳一個 Promise 函式,可以捕捉成功 / 失敗結果,需透過按鈕 click 等 UI 事件來觸發
Navigator.canShare()
回傳 Boolean,用以判斷內容是否可以分享
使用限制
- 必須透過 HTTPS(secure contexts)連結網站
- 必須透過 UI 事件觸發,像是按鈕 click
- 瀏覽器支援度較低(caniuse-Web-Share-API)
Navigator.share 參數選擇
- url:分享的連結(String)
- title:分享的標題(String)
- text:分享的內文(String)
- files:分享的檔案(Array)
功能實作
連結、文字分享
|
因瀏覽器支援度較低,建議加上判斷 Navigator.share
是否存在,避免直接報錯
|
檔案分享
|
先判斷檔案是否能共享,使用 Navigator.canShare
,如果回傳 true,表示 Navigator.share
可以成功呼叫
|
範例畫面
參考文章:
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share
https://web.dev/web-share/
廣告
評論