给网页增加分享功能

想给自己的网站的文章增加分享按钮,查询资料后发现,均使用了目标网站提供的分享接口,比如新浪微博更可以直接使用其提供的分享按钮,按其规则添加js和页面代码就能实现新浪风格的分享按钮。因为想同时添加各大主流平台的分享按钮,所以自己添加了js代码来完成。

首先在需要分享页面中添加按钮,比如我需要QQ,豆瓣,微博这三个分享,我用了li分别列出来。

<ul>

<li class="share" shareto="qq">QQ</li>

<li class="share" shareto="qq">微博</li>

<li class="share" shareto="qq">豆瓣</li>

</ul>

js文件里面写分享的功能,为了便于复用,将分享功能封装写成一个类,方便调用。

(function(window,document){

var share = function(ele,options,callback){

var that=this,

array = typeof ele === "string" ? document.querySelectorAll(ele) :ele ,

img = document.getElementsByTagName(‘img‘)[0];//获取文档的第一张图。

that.options = {

shareTitle:document.title,

shareUrl:window.location.hred,

shareCon:‘‘,

shareImage:img?img.attribution.src.value:‘‘,

sina: {

ralateUid:""       //需要分享到的人的新浪数字账号

}

};

for(i in options) {

that.options[i] = options[i];

};

if (array.length === 0) callback(‘没有获取到元素‘);

for (var i=0,l=array.length;i<l;i++){

array[i].addEventListener(‘click‘,function(){

var shareTo = this.attributes.shareto;

if(!sharetTo){

callback(‘没有设置shareto‘)

}else {

share(shareto.value)

};

},false);

};

var shaer = function(type){

var surl;

var options = that.options;

switch(type){

case ‘qq‘:
       surl = "http://connect.qq.com/widget/shareqq/index.html?url=" + options.shareUrl + "&title=" + options.shareTitle + "&desc=" + options.shareCon + "&pics=" + options.shareIamge;
        break;
  case ‘sina‘:
       surl = "http://v.t.sina.com.cn/share/share.php?url=" + options.shareUrl + "&title=" + options.shareTitle + "&searchPic=true&pic=" + options.shareIamge + "&ralateUid=" + options.sina.ralateUid;
       break;
  case "douban":
         surl = "https://www.douban.com/share/service?href=" + options.shareUrl + "&name=" + options.shareTitle + "&image=" + options.shareIamge + "&text=" + options.shareCon;
       break;
       default:
       callback("shareto设置错误");
       return false;

};

window.open(surl,‘‘);

};

};

window.share=share;

})(window,docuement);

下面是具体调用上面的方法:

var myshare = new share(‘.share‘,{

shareTitle:"",

shareUrl:"",

shareCon:"",

sina:{

ralateUid:""

},function(data){console.log(data)}

};

可以按照自己需要设置,也可以使用默认。

这个方法主要参考自 前端网的panio123发布的js小组件练习,觉得写法简单易懂,很利于学习,这里进行分享。

关于更多的网页分享接口:

微信可以采用在线二维码生成器。

百度贴吧:surl="http://tieba.baidu.com/f/commit/share/openShareApi?title"+options.shareTit+"&url"+options.shareUrl+"&pic"+options.shareImage;

开心网:surl="http://www.kaixin001.com/repaste/share.php?

rtitle"+options.shareTit;

或则:surl="http://www.kaixin001.com/rest/records.php?

url"+options.shareUrl+"&content"+options.shareCon+"&pic"+options.shareImage+"&showcount=0&style=11";

facebook:surl="http://www.facebook.com/sharer/sharer.php

?u"+options.shareUrl+"&t"+options.shareTit;

时间: 2024-10-29 19:08:18

给网页增加分享功能的相关文章

使用jquery.qrcode生成二维码实现微信分享功能

前言: 最近有个这样的需求,在pc端的商品详情页增加分享功能. 微博分享.QQ好友分享.QQ空间分享这些都很常见.但是微信分享我还没有手动写过(以前改过). 最终效果如下图: 解决方案:使用jquery.qrcode插件生成二维码 jquery.qrcode cdn地址 参见: https://www.bootcdn.cn/jquery.qrcode/ 1.加载 jQuery 和 jquery.qrcode.js: <script src="https://cdn.bootcss.com/

安卓开发分享功能,分享到facebook网页上不显示图片的问题

最近公司要上分享功能,分享的地方包括微信,qq,facebook,功能完成后,发现分享到facebook的内容只有文字可以显示,图片不显示,其中图片存储是使用七牛的服务器:而分享到微信和qq都可以正常显示,经过不断的询问和查找,终于找到了疑似原因,我们怀疑是由于我们的服务器的地址是https协议的,而七牛图片的地址是http协议,由于协议不一致造成的图片无法加载,所以就开始验证吧! 首先,我们又搭建了一个http的服务器,数据还是之前的数据,结果可以在facebook上访问,这样基本就验证了我们

Android分享功能,微博、QQ、QQ空间等社交平台分享之入门与进阶

前言 如何能迅速做一个分享功能,那主要就是根据第一个步骤来做就好了,因为友盟的sdk包已经集成很多的内容了,只要你有相应的app和平台账号就可以能马上分享.进阶的内容就是从第三部分开始,这些内容不难,目的就是为了更好的优化分享体验. 1.先做一个简单的分享效果. 1.1 创建一个Android项目 以下项目所需要的jar包,图片等资源可到该网站下载SDK即可. http://dev.umeng.com/social/android/quick-integration?spm=0.0.0.0.Lk

微信分享功能不可用+不能产生回调

之前微信分享一直正常可用,可最近报出微信分享后不能按规定的图片描述链接分享,而且不能产生回调导致不能通过分享增加用户参与活动次数,老代码如下: document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { window.shareData = { "imgUrl": "{$shareimg}", "timeLineLink": "{$shareli

JS为Select下拉框增加输入功能

JavaScript使用parentNode.nextSibling.value实现的本功能,实际上你会发现网页上有两个控件元素,一个是Select,一个是input,使用CSS将input覆盖于select之上,再使用JS将下拉框的值赋值给input,实际上是用input模拟出了select的功能,思路很新颖,也不知到底有多少人需要select可输入文字的功能,下面是详细的实现代码:前端资源分享 .代码   <div style="position:relative;">

React Native(十五)&mdash;&mdash;RN中的分享功能

终于,终于,可以总结自己使用RN时的分享功能了-- 为什么呢?且听我慢慢道来吧: 从刚开始接触React Native(2017年9月中旬)就着手于分享功能,直到自己参与公司的rn项目开发中,再到现在几乎"竣工"的过程中,这一路的"艰辛"估计也只有自己能体会到了吧.其实自己并不喜欢抱怨,也不喜欢把负能量带给身边的朋友,因此在遇到问题后,都是竭尽全力的攻克它,也许会"废寝忘食",也许是"徒劳无功",即使中间道路实在太曲折,但庆幸

实现分享功能插件2---jiathis分享插件应用

博主原创:未经博主允许,不得转载 在上一篇的博文中分享了如何用百度分享插件实现分享功能,现在展示用jiathis进行实现分享功能: 主要代码如下: <body> <div class="jiathis_style_32x32"> <a class="jiathis_button_qzone"></a> <a class="jiathis_button_tsina"></a>

Android APP代码拨打电话、打开手机分享功能等隐式意图

Android APP拨打电话: Intent intent=new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+110)); startActivity(intent); } Android APP打开电话薄: Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI); startActivity(intent); Android

andriod 实现新浪、QQ空间、微信朋友圈、微信好友分享功能

前言:自己在学习的过程中的一些操作过程,对分享的一些理解.下面就讲解一下: 下载地址:http://download.csdn.net/detail/u014608640/7490357 首先,我们需要去ShareSdk官方网站http://sharesdk.cn/ 去下载ShareSDK ,然后我们会有4个文件: 根据我自己在学习的过程中只用到了第一个文件夹的 libs目录的2个项目,这2个是必须要的,是ShareSdk提供的,然后需要将这2个放入到自己做的项目当中去,在Res目录下有一个 S