有一个问题一直困扰着我,也是我一直没有时间去了解和学习的,那就是前端(移动端)实现分享到微信、QQ好友、QQ空间、新浪微博等等平台的功能实现,虽然之前有做过,但是都是上一个领导自己写好的,我直接拿来用的,昨天下班就有给自己预定一个明日计划,一是完成前一天领导安排的页面,二是学习并理解前端分享功能的实现!

上午九点到公司后就去完成了前一天遗留的页面问题,解决完了之后就投入到了“share”问题上来了,一直在网上查询相关资料以及在技术群里问了相关人员,但是还是没有得到我想要的结果,终于在网上搜索得到了很好的答案!

功夫不负有心人,最终得到了我比较满意的答案!

之前就有自己私下写过前端实现分享的demo,是利用的百度分享实现的,而这就出现了一个问题就是百度分享并不支持移动端页面,下面简单来看一个百度分享实现的分享功能的demo:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>百度分享功能的实现</title>
</head>
<body>
<h3>直接使用百度分享</h3>
<div class="bdsharebuttonbox">
<a href="#" class="bds_more" data-cmd="more"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a>
</div>
<script>
window._bd_share_config = {
"common": {
"bdSnsKey": {},
"bdText": "",
"bdMini": "2",
"bdMiniList": false,
"bdPic": "",
"bdStyle": "0",
"bdSize": "32"
},
"share": {},
"image": {
"viewList": ["weixin", "tsina", "qzone", "tqq"],
"viewText": "分享到:",
"viewSize": "16"
},
"selectShare": {
"bdContainerClass": null,
"bdSelectMiniList": ["weixin", "tsina", "qzone", "tqq"]
}
};
with(document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];
</script>
</body>
</html>

效果如下:

好了,百度分享相关的就说到这了,你可以参考官方网站。

http://share.baidu.com/

直接获取代码或,根据自己的需要修改相应的项即可,它主要用于pc端的比较多,移动端的话需要自己去调整页面的适配问题也就是样式展现问题!


那么接下来回到我理想的sharesdk上来,官网链接为:http://sharesdk.mob.com/

点击立即使用,登录/注册、然后接下来的首要任务就是获取项目的APP key以及APP secret。这两很重要!因为页面中要用到。

你只要添加产品,添加项目名称,然后获取APP key以及APP secret。(这里我已经建立了的一个产品名称为wapTest的项目,也可以建立多个根据你自己的需要,不过一般一个就够用,而且公司开发的话用的也是公司的不是自己的。)

到这里基础的准备工作就完了,接下来就是基础案例的展示:

API文档也有介绍!进入到集成文档中心:

http://wiki.mob.com/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90-13/

下边直接来看两个demo代码吧!

Demo1:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>标题</title>
</head>
<body>
你的网站内容部分!
<hr />
<!--MOB SHARE BEGIN-->
<div class="-mob-share-ui-button -mob-share-open">分享</div>
<div class="-mob-share-ui" style="display: none">
<ul class="-mob-share-list">
<li class="-mob-share-weixin"><p>微信</p></li>
<li class="-mob-share-weibo"><p>新浪微博</p></li>
<li class="-mob-share-qzone"><p>QQ空间</p></li>
<li class="-mob-share-qq"><p>QQ好友</p></li>
<li class="-mob-share-douban"><p>豆瓣</p></li>
<li class="-mob-share-facebook"><p>Facebook</p></li>
<li class="-mob-share-twitter"><p>Twitter</p></li>
</ul>
<div class="-mob-share-close">取消</div>
</div>
<div class="-mob-share-ui-bg"></div>
<script id="-mob-share" src="http://f1.webshare.mob.com/code/mob-share.js?appkey=1feac3bd7169c"></script>
<!--MOB SHARE END-->
</body>
</html>

效果:

点击分享按钮弹出:

Demo2:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>mob.com2Test</title>
</head>
<body>
<!--MOB SHARE BEGIN-->
<div class="-mob-share-ui-button -mob-share-open">分享</div>
<div class="-mob-share-ui" style="display: none">
<ul class="-mob-share-list">
<li class="-mob-share-weibo"><p>新浪微博</p></li>
<li class="-mob-share-qzone"><p>QQ空间</p></li>
<li class="-mob-share-qq"><p>QQ好友</p></li>
</ul>
<div class="-mob-share-close">取消</div>
</div>
<div class="-mob-share-ui-bg"></div>
<script id="-mob-share" src="http://f1.webshare.mob.com/code/mob-share.js?appkey=1feac3bd7169c"></script>
<script>
mobShare.config({
debug: true, // 开启调试,将在浏览器的控制台输出调试信息
appkey: '1feac3bd7169c', // appkey
params: {
url: 'http://192.168.0.173:8020/share2-xiugai/mob.com2.html', // 分享链接
title: '这是mob.com2案例的分享标题', // 分享标题
description: '分享描素的话-比如:【赚钱】独创运营模式,全方位指导,专业团队,引领世界共创富,分红全球购打造亿万大众创富梦想的平台,财富等您加入!!!', // 分享内容
pic: 'https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D220/sign=82bbf1638bcb39dbc5c06054e01709a7/728da9773912b31bef2e58a08c18367adbb4e1fd.jpg', // 分享图片,使用逗号,隔开
reason: '自定义评论内容,只应用与QQ,QZone与朋友网-比如:真棒!!!', //自定义评论内容,只应用与QQ,QZone与朋友网
}, /**
* 分享时触发的回调函数
* 分享是否成功,目前第三方平台并没有相关接口,因此无法知道分享结果
* 所以此函数只会提供分享时的相关信息
*
* @param {String} plat 平台名称
* @param {Object} params 实际分享的参数 { url: 链接, title: 标题, description: 内容, pic: 图片连接 }
*/
callback: function(plat, params) {
//回调函数执行其他的处理(根据需要添加自己自定义的内容)
if(plat=='qq'){
sharetype=2;
}else if(plat=='weixin'){
sharetype=5;
}else if(plat=='qzone'){
sharetype=6;
}else if(plat=='weibo'){
sharetype=3;
}else{
sharetype=9;
}
}
});
</script>
<!--MOB SHARE END-->
</body>
</html>

效果:(和上边类似)

那么到这里,关于前端分享的基础实现也算完成了,这里只是简单的介绍如何使用以及使用的平台,还有更多需要自己去更改的地方,在以后的学习中再去解决吧!!加油! 像是了却一桩心事般,让人心情瞬间有几分欣喜!

哇哦!恍然大悟般的“share”功能的实现!的更多相关文章

  1. hexo next主题深度优化(四),自定义一个share功能,share.js。

    文章目录 背景: 开始: 引入资源: 代码 关键的一步 附:方便学习的小demo 一次成功后还出现上面的bug 结束 2018.12.23发现bug(读者可忽略) 个人博客:https://mmmmm ...

  2. 给Webkit内核的浏览器控件增加互交功能

    转载请说明出处,谢谢~~ 昨天封装了基于webkit的wke浏览器内核,做成了duilib的浏览器控件,实现了浏览功能,但是单单的浏览功能还不满足需求,在我的仿酷狗项目中乐库的功能需要与浏览器互交. ...

  3. Visual Studio 2019 正式发布,重磅更新,支持live share

    如约而至,微软已于今天推出 Visual Studio 2019 正式版,一同发布的还有 Visual Studio 2019 for Mac. Visual Studio 2019 下载地址:htt ...

  4. Visual Studio 2019 使用 Live Share

    一.前言 Visual Studio 2019 在今天发布(北京时间)了,这次带来了一个比较有趣的 Live Share 功能,使用它可以进行更好的协作开发.主要功能: 更多资料可看官方介绍: Vis ...

  5. 个人小项目——Java实现WC功能

    这个小项目用了两种方法解决了该功能的实现. 1.两种方法的功能和具体实现 代码可以成功运行,但是有一些情况考虑不完整,一种方法用了FileOutputStream输出流,为了解决空格无法统计问题,对文 ...

  6. 个人永久性免费-Excel催化剂功能第89波-批量多图片转PDF

    前一篇展示了从PDF中提取到有用信息如图片.文本.表格等功能,部分人可能对自己手中的转PDF格式的保护性有所顾虑,此篇从反向角度,提供数据保护作用,让PDF文件的数据保护更彻底,让文本型的PDF文件彻 ...

  7. Vagrant 入门 - share

    原文地址 译者注:Vagrant Share 功能通过 ngrok 向所有人提供访问内网开发环境的能力. 现在我们已经启动并运行了一台 Web 服务器,并且可以从你的机器访问,我们拥有一个相当实用的开 ...

  8. facebook api介绍

    转自(http://sls.weco.net/node/10773) 一.Facebook API 基礎概念 Facebook API 概論 : API 最大的好處在於可以讓程式開發人員只需要根據 A ...

  9. DOS程序员手册(九)

    第14章参考手册概述     本书余下的章节将向读者们介绍BIOS.DOS各种各样API函数和服务,作为一名程 序员,了解和掌握这些知识是很有好处的.在所介绍的参考手册中,每部手册都汇集了大 量的资源 ...

随机推荐

  1. 来杯咖啡-装饰者模式(Decorator)

    前言 上篇[观察者模式]发布已经近一个月了,个人感觉反应并不太理想,因为大家响应都不是很积极,不知是文章那里写得有问题,而且也没有人提出过有价值的改进建议,多少感觉有些失望L!因为工作繁忙,所以不可能 ...

  2. Extract - <<凤凰牌老熊-现代支付系统设计>>

    本文摘录自: http://blog.lixf.cn/essay/2017/04/01/concept-01-overview/ 一.支付概述-- 1. 支付与交易 交易过程: 交易的存在是支付发生的 ...

  3. Python与数据库[0] -> 数据库概述

    数据库概述 / Database Overview 1 关于SQL / About SQL 构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一 ...

  4. POJ 1274 The Perfect Stall (二分图匹配)

    [题目链接] http://poj.org/problem?id=1274 [题目大意] 给出一些奶牛和他们喜欢的草棚,一个草棚只能待一只奶牛, 问最多可以满足几头奶牛 [题解] 奶牛和喜欢的草棚连线 ...

  5. 永久关闭WPS热点

    可以通过设置WPS,关闭广告推送和热点即可,方法如下 准备:打开已经安装wps的设备 1.单击电脑左下角,找到wps 2.选中WPS Office中的配置工具 3.在弹窗中选择“高级” 4.打开之后选 ...

  6. [置顶] kubernetes资源类型--Service

    为了适应快速的业务需求,微服务架构已经逐渐成为主流,微服务架构的应用需要有非常好的服务编排支持.K8S中的核心要素Service便提供了一套简化的服务代理和发现机制,天然适应微服务架构. 实现原理 S ...

  7. docker ubunt镜像中文乱码,文件名问号解决

    一 安装语言包 中文语言包: language-pack-zh-hans 简体中文 language-pack-zh-hans-base language-pack-zh-hant 繁体中文 lang ...

  8. selenium 定位元素方式大全

    starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ...

  9. applicationContext.xml文件如何调用外部properties等配置文件

    只需要在applicationContext.xml文件中添加一行: <!-- 导入外部的properties文件 --> <context:property-placeholder ...

  10. 命令行下的“蒙面歌王”rundll32.exe

    在Windows系统中,为了节省内存和实现代码重用,微软在Windows操作系统中实现了一种共享函数库的方式.这就是DLL(Dynamic Link Library)文件,即动态链接库,这种库包含了可 ...