dream98

原文章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
  1. <div class="fl">分享到:</div> 
  2. <div onclick="shareTo(\'qzone\')">     
  3.     <img src="http://zixuephp.net/static/images/qqzoneshare.png" width="30"> 
  4. </div> 
  5. <div onclick="shareTo(\'qq\')">     
  6.     <img src="http://zixuephp.net/static/images/qqshare.png" width="32"> 
  7. </div> 
  8. <div onclick="shareTo(\'sina\')">     
  9.     <img src="http://zixuephp.net/static/images/sinaweiboshare.png" width="36"> 
  10. </div> 
  11. <div onclick="shareTo(\'wechat\')">     
  12.     <img src="http://zixuephp.net/static/images/wechatshare.png" width="32"> 
  13. </div>
js
  1. function shareTo(stype){
  2.     var ftit = \'\';
  3.     var flink = \'\';
  4.     var lk = \'\';
  5.     //获取文章标题
  6.     ftit = $(\'.pctitle\').text();
  7.     //获取网页中内容的第一张图片
  8.     flink = $(\'.pcdetails img\').eq(0).attr(\'src\');
  9.     if(typeof flink == \'undefined\'){
  10.         flink=\'\';
  11.     }
  12.     //当内容中没有图片时,设置分享图片为网站logo
  13.     if(flink == \'\'){
  14.         lk = \'http://\'+window.location.host+\'/static/images/logo.png\';
  15.     }
  16.     //如果是上传的图片则进行绝对路径拼接
  17.     if(flink.indexOf(\'/uploads/\') != -1) {
  18.         lk = \'http://\'+window.location.host+flink;
  19.     }
  20.     //百度编辑器自带图片获取
  21.     if(flink.indexOf(\'ueditor\') != -1){
  22.         lk = flink;
  23.     }
  24.     //qq空间接口的传参
  25.     if(stype==\'qzone\'){
  26.         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\'));
  27.     }
  28.     //新浪微博接口的传参
  29.     if(stype==\'sina\'){
  30.         window.open(\'http://service.weibo.com/share/share.php?url=\'+document.location.href+\'?sharesource=weibo&title=\'+ftit+\'&pic=\'+lk+\'&appkey=2706825840\');
  31.     }
  32.     //qq好友接口的传参
  33.     if(stype == \'qq\'){
  34.         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开发交流的网站\');
  35.     }
  36.     //生成二维码给微信扫描分享,php生成,也可以用jquery.qrcode.js插件实现二维码生成
  37.     if(stype == \'wechat\'){
  38.         window.open(\'http://zixuephp.net/inc/qrcode_img.php?url=http://zixuephp.net/article-1.html\');
  39.     }
  40. }

使用说明:

    这里的如获取文章标题、文章图片、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

分类:

技术点:

相关文章: