javascript实现分享功能

使用的是一个插件share.js
因为我写的是静态网页,所以直接下载源文件,然后引用到项目中。引用cdn可以在这里获取cdnjs-share.js

下载的源文件中,有demo可以参考。demo分两种,依赖jquery和不依赖jquery的。

以下内容,引用自:share.js

1. Share.js

Share.js是一款一键转发工具,它可以一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等社交网站,使用字体图标。

2. 安装

有3种安装方式:
使用 npm
npm install social-share.js
: 使用 cdnjs,引入 share.min.css 与 share.min.js 两个链接就好。
手动下载或者 git clone 本项目。

3. 使用

3.1. HTML:


<div class="social-share"></div>

<!--  css & js -->
<link href="dist/css/share.min.css">
<script src="dist/js/share.min.js"></script>
// 当你使用类名为 `social-share` 时不需要手动初始化

3.2. 自定义配置

所有配置可选, 通常默认就满足需求:

可用的配置有:

url                 : '', // 网址,默认使用 window.location.href
source              : '', // 来源(QQ空间会用到), 默认读取head标签:<meta name="site" content="http://overtrue" />
title               : '', // 标题,默认读取 document.title 或者 <meta name="title" content="share.js" />
description         : '', // 描述, 默认读取head标签:<meta name="description" content="PHP弱类型的实现原理分析" />
image               : '', // 图片, 默认取网页中第一个img标签
sites               : ['qzone', 'qq', 'weibo','wechat', 'douban'], // 启用的站点
disabled            : ['google', 'facebook', 'twitter'], // 禁用的站点
wechatQrcodeTitle   : '微信扫一扫:分享', // 微信二维码提示文字
wechatQrcodeHelper  : '<p>微信里点“发现”,扫一下</p><p>二维码便可将本文分享至朋友圈。</p>'

以上选项均可通过标签 data-xxx 来设置:

驼峰转为中横线,如wechatQrcodeHelper 的data标签为data-wechat-qrcode-helper

3.2.1. 禁用 google、twitter、facebook 并设置分享的描述


<div class="share-component" data-disabled="google,twitter,facebook" data-description="Share.js - 一键分享到微博,QQ空间,腾讯微博,人人,豆瓣"></div>

3.2.2. 设置微信二维码标题

<div class="social-share" data-wechat-qrcode-title="请打开微信扫一扫"></div>
针对特定站点使用不同的属性(title, url, description,image...)

<div class="social-share" data-weibo-title="这个标题只有的分享到微博时有用,其它标题为全局标题" data-qq-title="分享到QQ时用此标题"></div>

你也可以自定义图标

使用: data-initialized=“true” 标签或者 initialized 配置项来禁用自动生成icon功能。

<div class="social-share" data-initialized="true">
    <a href="#" class="social-share-icon icon-weibo"></a>
    <a href="#" class="social-share-icon icon-qq"></a>
    <a href="#" class="social-share-icon icon-qzone"></a>
</div>

以上a标题会自动加上分享链接(a 标签必须带 icon-NAME 属性,不然分享链接不会自动加上)。

如果你想在分享icon列表中内置一些元素,比如放一个收藏按钮在分享按钮的后面:

<div class="social-share">
    <a href="javascript:;" class="social-share-icon icon-heart"></a>
</div>

这样并没有实现,因为结果是所有的分享按钮都创建在了收藏按钮的后面了,这时候你就可以用 data-mode=“prepend” 来确定分享按钮创建的方式。

<div class="social-share" data-mode="prepend">
    <a href="javascript:;" class="social-share-icon icon-heart"></a>
</div>

这样,所有的分享图标就会创建在容器的内容前面,反之可以用 append 创建在容器内容后面,当然这是默认的,也不需要这么做。

指定移动设备上显示的图标

<div class="share-component" data-mobile-sites="weibo,qq,qzone,tencent"></div>

当在手机上打开该页面的时候就只会显示这4个图标了。

引用

本项目中二维码生成部分用到了开源组件:lrsjng/jquery-qrcode (MIT License)

下载地址:

Download .zip

Download .tar.gz

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Vue3中实现分享功能,你可以使用Vue的生命周期钩子函数和第三方库来实现。首先,你可以在Vue组件的created或mounted钩子函数中初始化微信分享功能,以确保在组件加载完成后进行分享设置。 在实现微信分享之前,你需要引入微信分享JS-SDK,可以通过以下步骤获取: 1. 注册微信公众号,并绑定域名。 2. 在微信公众平台中开启JS-SDK权限,并获取appId、timestamp、nonceStr和signature等参数。 3. 引入微信JS-SDK的分享API,并通过配置参数进行分享设置。 接下来,你可以使用第三方库(如wx-js-sdk)来简化微信分享实现。安装wx-js-sdk库后,你可以按照以下步骤来实现分享功能: 1. 在Vue组件中引入wx-js-sdk库。 ```javascript import wx from 'weixin-js-sdk'; ``` 2. 在Vue组件的created或mounted钩子函数中进行初始化微信分享。 ```javascript created() { // 初始化微信JS-SDK this.initWechatShare(); }, methods: { initWechatShare() { // 通过Ajax请求获取微信分享的配置参数 // 这里需要替换为你实际的接口地址 axios.get('/api/getWechatShareConfig').then(response => { const { appId, timestamp, nonceStr, signature } = response.data; // 配置微信JS-SDK wx.config({ debug: false, appId, timestamp, nonceStr, signature, jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'] // 需要使用的分享API列表 }); // 调用微信分享API wx.ready(() => { wx.updateAppMessageShareData({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图标', success: () => { // 分享成功回调 }, cancel: () => { // 取消分享回调 } }); wx.updateTimelineShareData({ title: '分享标题', link: '分享链接', imgUrl: '分享图标', success: () => { // 分享成功回调 }, cancel: () => { // 取消分享回调 } }); }); }).catch(error => { console.error('获取微信分享配置失败', error); }); } } ``` 这样,当Vue组件加载完成后,会自动初始化微信分享功能,并配置分享的标题、描述、链接和图标等信息。当用户点击分享按钮时,会触发相应的分享回调函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值