热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nativeShare挪动端浏览器挪用原生分享插件

原文地点https:github.comfa-geNativeShareblobmasterREADME.md原由近来有一个运动页须要在挪动端浏览器分享网页到微信,QQ。虽然每一个

原文地点 https://github.com/fa-ge/NativeShare/blob/master/README.md

原由

近来有一个运动页须要在挪动端浏览器分享网页到微信,QQ。虽然每一个浏览器都有分享到微信的才能,但不是每一个都供应接供词网页来挪用。实时有供应,浏览器暴露出的api也各不相同,而我写NativeShare的目标只是为前端开发者供应一致的api来挪用浏览器的原生分享组件。大小uglify + gzip = 4k。

兼容性(毫无疑问是兼容浏览器最多的插件了)

  • 挪动端险些一切浏览器都支撑分享到QQ和QQ空间

  • QQ浏览器

  • UC浏览器

  • 微信自带浏览器(只能设置案牍,分享须要用户手动点击右上角)

  • ios QQ自带浏览器(只能设置案牍,分享须要用户手动点击右上角)

  • QQ空间APP(只能设置案牍,分享须要用户手动点击右上角)

  • android百度浏览器

  • 支撑分享到web微博

  • 行将支撑(安卓QQ自带浏览器)

存在的题目

  • 虽然险些一切的浏览器都支撑分享到QQ和QQ空间,然则webview中基础都邑不支撑。我也很难推断当前浏览器是不是支撑,浏览器是不是唤起QQ APP我也很难推断,一切除了上述支撑的浏览器,APP外其他状况挪用分享到QQ我也会抛出非常。

  • 安卓的QQ自带浏览器分享有题目

  • UC浏览器安卓端不能设置icon

  • 百度浏览器安卓端不能指定分享

示例

demo

《nativeShare 挪动端浏览器挪用原生分享插件》

运用

支撑ES6模块,AMD,CMD引入
假如你的项目没有模块化。你也能够直接用script标签引入NativeShare.js。能够参考demo

import NativeShare from 'nativeshare'
// 先建立一个实例
var nativeShare = new NativeShare()
// 假如你须要在微信浏览器中分享,那末你须要设置分外的微信设置
// 迥殊提醒一下微信分享有一个坑,不要分享平安域名之外的链接(详细见jssdk文档),否则会致使你设置的案牍无效
// 建立实例应当带参数
var nativeShare = new NativeShare({
appId: '',
timestamp: '',
nonceStr: '',
signature: '',
})
// 设置分享案牍
nativeShare.setShareData({
icon: 'https://pic3.zhimg.com/v2-080267af84aa0e97c66d5f12e311c3d6_xl.jpg',
link: 'https://github.com/fa-ge/NativeShare',
title: 'NativeShare',
desc: 'NativeShare是一个整合了各大挪动端浏览器挪用原生分享的插件',
from: '@fa-ge',
})
// 唤起浏览器原生分享组件(假如在微信中不会唤起,此时call要领只会设置案牍。相似setShareData)
try {
nativeShare.call()
// 假如是分享到微信则须要 nativeShare.call('wechatFriend')
// 相似的敕令下面有引见
} catch(err) {
// 假如不支撑,你能够在这里做降级处置惩罚
}

API

NativeShare一共只要三个实例要领

  • getShareData() 取得分享的案牍

  • setShareData() 设置分享的案牍

  • call(command = ‘default’, [options]) 挪用浏览器原生的分享组件

{
icon: '',
link: '',
title: '',
desc: '',
from: '',
// 以下几个回调现在只要在微信中支撑和QQ中支撑
success: noop,
fail: noop,
cancel: noop,
trigger: noop,
}

挪用call要领时第一个参数是指定用什么敕令挪用分享组件。现在支撑6个敕令。分别是

  • default 默许,挪用起底部的分享组件,当其他敕令不支撑的时刻也会挪用该敕令

  • wechatTimeline 分享到朋友圈

  • wechatFriend 分享给微信挚友

  • qqFriend 分享给QQ挚友

  • qZone 分享到QQ空间

  • weibo 分享到微博

交换

假如你是浏览器开发者或许你晓得其他浏览器挪用分享的体式格局,请务必一定要告诉我。


推荐阅读
  • Tencent APIJSON自动化接口和文档 ORM 库开源啦
    APIJSON是一种专为API而生的JSON网络传输协议以及基于这套协议实现的ORM库。为简单的增删改查、复杂的查询、简单的事务操作提供了完全自动化的API。能大幅降低开发和沟通成 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • faster rcnn如何生成anchors
       本文就fasterrcnn中anchors的函数generate_anchors.py为例,介绍anchors的生成过程。   首先看下主函数入口。论文中提到a ... [详细]
  • return 语句竟然跳不出 for 循环?怎么肥事?
    松哥最近正在录制TienChin项目视频~采用SpringBoot+Vue3技术栈,里边会涉及到各种好玩 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • 第一种方法gitarchive-oupdate.zip$(gitdiffnew-versionold-version--name-only)此方法如果文件有删除,则 ... [详细]
  • 现在很多App在与服务器接口的请求和响应过程中,为了安全都会涉及到加密和解密的问题,如果不加的话就会是明文的,即使加了GZIP也可以被直接解压成明文。如果同时有Android和IO ... [详细]
  • 主存同步mysql_MySQL阶段五——主从复制原理、主从延迟原理与解决
    MySQL主从复制原理、主从延迟原理与解决MySQL主从复制画图描述:MySQL主从复制原理上图详解:①用户做crud操作,写入数据库&# ... [详细]
author-avatar
nissunshine
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有