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网站上查看它的最新进展。
原文链接: