Web Share API提供了瀏覽器原生設備分享功能。該API最初是爲移動設備設計的,但現在也可用在OSX上(使用Safari瀏覽器)。
Web Share API僅包含一個navigator.share()方法,該方法接收一個具有三個屬性(URL、文本和標題)的對象作爲參數,返回值是一個Promise異步對象,該對象在用戶完成分享操作後結束。
在調用該API後,將會打開一個系統原生分享窗口,並向用戶展示可用的分享目標應用程序列表。
對於網站來說,使用原生分享程序是一種顯著的優勢,因爲它暴露給用戶的是一個熟悉的界面,無需登錄多個社交網絡,並且能提供之前瀏覽器無法使用的新分享目標程序。
爲了避免濫用,該API確實有一些限制。網站必須通過HTTPS進行訪問,分享行爲必須由用戶操作來觸發(例如點擊鼠標)。
一個簡單的分享操作過程如下所示:
document.querySelector('.sharebtn').addEventListener('click', shareSite)
function shareSite() {
navigator.share({
title: document.title,
text: 'Hello World',
url: 'https://mewebsite.com',
})
.then(() => {
console.log('Share completed successfuly')
})
.catch((error) => { console.log(`share failed: ${error}`) });
}
當前版本的API僅包含分享URL的功能。在Web Share API 2 發佈時,還將添加其他特性,比如和其他應用程序共享文件。
目前,Web Share API 2正在開發當中,可以在Chrome Status網站上查看它的最新進展。
原文鏈接: