前端学习笔记——手机上的网页原生分享webshare
花了几个小时,搞明白了一些东西
效果
详见alevel.tech。
当用户在手机上最新的主流浏览器上点击按钮时,可以实现调用手机原生分享功能↓
但由于本API支持的浏览器主要为手机浏览器(电脑端除safari均不支持)所以还需要准备exception如下图↓
前言
为网页添加这个分享按钮的灵感来源于一个可以调用原生分享的插件。
alevel.tech所用的mdui前端框架虽然有javascript工具组件但是没有并没有包含Navigator.share()的使用方法或说明。于是笔者自行学习并为3个卡片添加了切实能用的分享按钮。
(备注:本人只是枚学生,轻喷……)
学习
通过MDN等文档的学习,总结出以下几个笔记要点:
- 通过id的方式将javascript绑定至不同按钮
- onclick()点击后进行Navigator.share()分享。
- 设置好要分享的title,URL,text等元素。暂时还没看懂files怎么传递。
- 准备一个exception,防止不支持的浏览器点击后无反应。
MDN的示例代码
1 | const shareData = { |
实践
MDN的示例代码将所有button元素进行绑定,不过在实践中需要绑定单独的按钮,所以改为使用getElementById来绑定单独不同的按钮。
此外,由于分享内容是固定的文本,可以省去新建shareData常量这一步并直接填入。
下面是我实际使用的javascript代码,轻喷……
1 |
|
其中,shareForum是一个button元素的id
后记
今天 google 的七夕涂鸦使用的分享按钮并不支持原生分享,可见这个组件目前还不常用。