原文章https://www.cnblogs.com/h5it/p/9968017.html
通过qq空间、qq聊天、新浪微博和微信二维码分享平台提供的接口,实现把网页中对应的图片、标题、描述的信息参数用javascript获取后传进接口中,实现一键分享。
使用到的接口(测试时需要登录,网址和图片必须是公网的,不能localhost):
1.分享到QQ空间接口:https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=你的网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片&summary=你的分享描述信息
2.分享给QQ好友接口:http://connect.qq.com/widget/shareqq/index.html?url=你的分享网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片地址&summary=你的分享描述&desc=你的分享简述
3.分享到新浪微博接口:http://service.weibo.com/share/share.php?url=你的分享网址&sharesource=weibo&title=你的分享标题&pic=你的分享图片&appkey=你的key,需要在新浪微博开放平台中申请
一键分享代码参考如下:
1 <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> 2 <div class="fl">分享到:</div> 3 <div onclick="shareTo(\'qzone\')"> 4 <img src="http://zixuephp.net/static/images/qqzoneshare.png" width="30"> 5 </div> 6 <div onclick="shareTo(\'qq\')"> 7 <img src="http://zixuephp.net/static/images/qqshare.png" width="32"> 8 </div> 9 <div onclick="shareTo(\'sina\')"> 10 <img src="http://zixuephp.net/static/images/sinaweiboshare.png" width="36"> 11 </div> 12 <div onclick="shareTo(\'wechat\')"> 13 <img src="http://zixuephp.net/static/images/wechatshare.png" width="32"> 14 </div> 15 <span class="pctitle">1123</span> 16 <image src="http://www.b.com/Public/upload/goods/thumb/104/goods_thumb_104_400_400.jpeg"></image> 17 <script> 18 function shareTo(stype){ 19 alert(1) 20 var ftit = \'\'; 21 var flink = \'\'; 22 var lk = \'\'; 23 //获取文章标题 24 ftit = $(\'.pctitle\').text(); 25 //获取网页中内容的第一张图片 26 flink = $(\'.pcdetails img\').eq(0).attr(\'src\'); 27 if(typeof flink == \'undefined\'){ 28 flink=\'\'; 29 } 30 //当内容中没有图片时,设置分享图片为网站logo 31 if(flink == \'\'){ 32 lk = \'http://\'+window.location.host+\'/static/images/logo.png\'; 33 } 34 //如果是上传的图片则进行绝对路径拼接 35 if(flink.indexOf(\'/uploads/\') != -1) { 36 lk = \'http://\'+window.location.host+flink; 37 } 38 //百度编辑器自带图片获取 39 if(flink.indexOf(\'ueditor\') != -1){ 40 lk = flink; 41 } 42 //qq空间接口的传参 43 if(stype==\'qzone\'){ 44 //https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=http://zixuephp.net/article-309.html?sharesource=qzone&title=一键分享到QQ空间、QQ好友、新浪微博、微信代码&pics=http://zixuephp.net/uploads/image/20170810/1502335815192079.png&summary=通过各自平台的开发接口,进行参数指定,进行一键分享javascript代码功能 45 //https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=\'+document.location.href+\'?sharesource=qzone&title=\'+ftit+\'&pics=\'+lk+\'&summary=\'+document.querySelector(\'meta[name="description"]\').getAttribute(\'content\')) 46 47 window.open(\'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=\'+document.location.href+\'?sharesource=qzone&title=\'+ftit+\'&pics=\'+lk+\'&summary=通过各自平台的开发接口,进行参数指定,进行一键分享javascript代码功能\'); 48 } 49 //新浪微博接口的传参 50 if(stype==\'sina\'){ 51 window.open(\'http://service.weibo.com/share/share.php?url=\'+document.location.href+\'?sharesource=weibo&title=\'+ftit+\'&pic=\'+lk+\'&appkey=2706825840\'); 52 } 53 //qq好友接口的传参 54 if(stype == \'qq\'){ 55 window.open(\'http://connect.qq.com/widget/shareqq/index.html?url=\'+document.location.href+\'?sharesource=qzone&title=\'+ftit+\'&pics=\'+lk+\'&summary=通过各自平台的开发接口,进行参数指定,进行一键分享javascript代码功能\'); 56 } 57 //生成二维码给微信扫描分享,php生成,也可以用jquery.qrcode.js插件实现二维码生成 58 if(stype == \'wechat\'){ 59 window.open(\'http://zixuephp.net/inc/qrcode_img.php?url=http://zixuephp.net/article-1.html\'); 60 } 61 } 62 </script>
html
- <div class="fl">分享到:</div>
- <div onclick="shareTo(\'qzone\')">
- <img src="http://zixuephp.net/static/images/qqzoneshare.png" width="30">
- </div>
- <div onclick="shareTo(\'qq\')">
- <img src="http://zixuephp.net/static/images/qqshare.png" width="32">
- </div>
- <div onclick="shareTo(\'sina\')">
- <img src="http://zixuephp.net/static/images/sinaweiboshare.png" width="36">
- </div>
- <div onclick="shareTo(\'wechat\')">
- <img src="http://zixuephp.net/static/images/wechatshare.png" width="32">
- </div>
js
- function shareTo(stype){
- var ftit = \'\';
- var flink = \'\';
- var lk = \'\';
- //获取文章标题
- ftit = $(\'.pctitle\').text();
- //获取网页中内容的第一张图片
- flink = $(\'.pcdetails img\').eq(0).attr(\'src\');
- if(typeof flink == \'undefined\'){
- flink=\'\';
- }
- //当内容中没有图片时,设置分享图片为网站logo
- if(flink == \'\'){
- lk = \'http://\'+window.location.host+\'/static/images/logo.png\';
- }
- //如果是上传的图片则进行绝对路径拼接
- if(flink.indexOf(\'/uploads/\') != -1) {
- lk = \'http://\'+window.location.host+flink;
- }
- //百度编辑器自带图片获取
- if(flink.indexOf(\'ueditor\') != -1){
- lk = flink;
- }
- //qq空间接口的传参
- if(stype==\'qzone\'){
- window.open(\'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=\'+document.location.href+\'?sharesource=qzone&title=\'+ftit+\'&pics=\'+lk+\'&summary=\'+document.querySelector(\'meta[name="description"]\').getAttribute(\'content\'));
- }
- //新浪微博接口的传参
- if(stype==\'sina\'){
- window.open(\'http://service.weibo.com/share/share.php?url=\'+document.location.href+\'?sharesource=weibo&title=\'+ftit+\'&pic=\'+lk+\'&appkey=2706825840\');
- }
- //qq好友接口的传参
- if(stype == \'qq\'){
- window.open(\'http://connect.qq.com/widget/shareqq/index.html?url=\'+document.location.href+\'?sharesource=qzone&title=\'+ftit+\'&pics=\'+lk+\'&summary=\'+document.querySelector(\'meta[name="description"]\').getAttribute(\'content\')+\'&desc=php自学网,一个web开发交流的网站\');
- }
- //生成二维码给微信扫描分享,php生成,也可以用jquery.qrcode.js插件实现二维码生成
- if(stype == \'wechat\'){
- window.open(\'http://zixuephp.net/inc/qrcode_img.php?url=http://zixuephp.net/article-1.html\');
- }
- }
使用说明:
这里的如获取文章标题、文章图片、logo图片地址等一些其他信息是按照本站的规则来的,使用时需要修改成自己站点的calss或id选择器来获取。如果调试不成功,可以尝试本站中的分享功能,分享时会打开新窗口,那条链接是最终要分享的,已经拼接好的参数链接,可以复制进行比对参考。
最终分享链接示例:
1.分享到qq空间:
https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=http://zixuephp.net/article-309.html?sharesource=qzone&title=一键分享到QQ空间、QQ好友、新浪微博、微信代码&pics=http://zixuephp.net/uploads/image/20170810/1502335815192079.png&summary=通过各自平台的开发接口,进行参数指定,进行一键分享javascript代码功能
2.分享到qq好友:
https://connect.qq.com/widget/shareqq/index.html?url=http://zixuephp.net/article-309.html?sharesource=qzone&title=一键分享到QQ空间、QQ好友、新浪微博、微信代码&pics=http://zixuephp.net/uploads/image/20170810/1502335815192079.png&summary=通过各自平台的开发接口,进行参数指定,进行一键分享javascript代码功能&desc=php自学网,一个web开发交流的网站
3.分享到新浪微博:
http://service.weibo.com/share/share.php?url=http://zixuephp.net/article-309.html?sharesource=weibo&title=一键分享到QQ空间、QQ好友、新浪微博、微信代码&pic=http://zixuephp.net/uploads/image/20170810/1502335815192079.png&appkey=2706825840&sudaref=zixuephp.net&display=0&retcode=6102#_loginLayer_1528860698455