阅读模式:

一键分享到QQ空间、QQ好友、新浪微博、微信代码

查看:140092  回复:35  类型:  来源:php自学网  标签 javascript

        通过qq空间qq聊天新浪微博和微信二维码分享平台提供的接口实现把网页中对应的图片、标题、描述的信息参数用javascript获取后传进接口中,实现一键分享

        使用到的接口(测试时需要登录,网址和图片必须是公网的,不能localhost,QQ图片不能太宽,太宽标题描述会undefiend):

            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需要在新浪微博开放平台中申请


一键分享代码参考如下:

<div>分享到:</div> 
<div onclick="shareTo('qzone')">     
    <img src="https://zixuephp.net/static/images/qqzoneshare.png" width="32"> <!-- 分享图片不再提供访问 -->
</div> 
<div onclick="shareTo('qq')">     
    <img src="https://zixuephp.net/static/images/qqshare.png" width="32"> 
</div> 
<div onclick="shareTo('sina')">     
    <img src="https://zixuephp.net/static/images/sinaweiboshare.png" width="32"> 
</div> 
<div onclick="shareTo('wechat')">     
    <img src="https://zixuephp.net/static/images/wechatshare.png" width="32"> 
</div>
function shareTo(types){

    var title,imageUrl,url,description,keywords;

    //获取文章标题
    title = document.title;

    //获取网页中内容的第一张图片地址作为分享图
    //imageUrl = document.images[0].src;
    imageUrl = document.getElementById("pcdetails").getElementsByTagName("img")[0];
    //当内容中没有图片时,设置分享图片为网站logo
    if(typeof imageUrl == 'undefined'){
        imageUrl = 'https://'+window.location.host+'/static/images/logo.png';
    } else {
        imageUrl = imageUrl.src;
    }

    //获取当前网页url
    url = document.location.href;

    //获取网页描述
    description = document.querySelector('meta[name="description"]').getAttribute('content');

    //获取网页关键字
    keywords = document.querySelector('meta[name="keywords"]').getAttribute('content');

    //qq空间接口的传参
    if(types=='qzone'){
        window.open('https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url='+url+'&sharesource=qzone&title='+title+'&pics='+imageUrl+'&summary='+description);
    }
    //新浪微博接口的传参
    if(types=='sina'){
        window.open('http://service.weibo.com/share/share.php?url='+url+'&sharesource=weibo&title='+title+'&pic='+imageUrl+'&appkey=2706825840');
    }
    //qq好友接口的传参
    if(types == 'qq'){
        window.open('http://connect.qq.com/widget/shareqq/index.html?url='+url+'&sharesource=qzone&title='+title+'&pics='+imageUrl+'&summary='+description+'&desc='+keywords);
    }
    //生成二维码给微信扫描分享
    if(types == 'wechat'){
        //在线二维码(服务器性能限制,仅测试使用,屏蔽非大陆ip访问)
        window.open('https://zixuephp.net/inc/qrcode_img.php?url='+url);
    }

}

使用说明:

    纯js使用时id改成自己站点的id选择器来获取。如果调试不成功,可以尝试本站中的分享功能,分享时会打开新窗口,那条链接是最终要分享的,已经拼接好的参数链接,可以复制进行比对参考。

最终分享链接示例:

    1.分享到qq空间:

https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://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=https://zixuephp.net/article-309.html&sharesource=qzone&title=一键分享到QQ空间、QQ好友、新浪微博、微信代码&pics=https://zixuephp.net/static/images/qqshare.png&summary=通过各自平台的开发接口,进行参数指定,进行一键分享javascript代码功能&desc=php自学网一个web开发交流的网站

    3.分享到新浪微博:

http://service.weibo.com/share/share.php?url=https://zixuephp.net/article-309.html&sharesource=weibo&title=一键分享到QQ空间、QQ好友、新浪微博、微信代码&pic=https://zixuephp.net/uploads/image/20170810/1502335815192079.png&appkey=2706825840

    4.分享到微信(建议jquery.qrcode.js生成二维码方式)

jquery生成二维码方式预览:

jquery.qrcode.js生成二维码demo.html

下载代码:

jquery.qrcode.js生成二维码demo.rar

分享效果点击本站文章分享功能,效果图如下:

一键分享js代码

分享到:
51 36

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

最新评论:
该  发表于 2017-12-04 17:46:08  中国重庆重庆
沙发
mark 回复
站长 2017-12-04 20:06 中国广东深圳
回复
爱像风筝断了线  发表于 2018-01-31 17:14:36  中国福建福州
板凳
手机端不实用,不能拉起app进行分享,有什么方法可以拉起QQ微信分享吗? 回复
站长 2018-02-01 15:22 中国广东深圳
这个是网页端分享呢。大部分网站都是这么分享的。但有些app会自带分享功能的。在网页中可以使用tencent://打开qq,app其他的不太了解了。 回复
爱像风筝断了线  发表于 2018-01-31 17:18:55  中国福建福州
地板
https://luoximu.jimdo.com/用jimdo做的一个网站,完全不懂网站制作,自己慢慢摸索出来的,最近想弄一个像你这样的评论系统和分享按钮,不知道怎么弄。 回复
站长 2018-02-01 16:49 中国广东深圳
回复
放飞、  发表于 2018-02-06 17:49:27  中国北京北京
4楼
手机端qq分享出去可以点击链接,但是网页版的话粉爱你刚出去为什么不能点击呢?链接里面只有http://test.muwai.com/Product/product_detail/id/5.html?sharesource,后面的参数没有了。。。 我的代码,可以帮我看下吗?谢谢,并且手机端分享到qq空间登录之后跳转到分享页面,瞬间又回到登录页面了,,哎 回复
站长 2018-02-06 20:43 中国广东深圳
我测试正常呢。 回复
放飞、  发表于 2018-02-08 11:13:25  中国北京北京
5楼
楼主,能加你qq求教下吗?我们最近移动端要分享微信,朋友圈,qq,空间,微博、、昨天对着你的例子写了,但是有点小问题,想求教下可以吗?924103119 回复
站长 2018-02-10 00:31 中国广东深圳
回复
Sunflower  发表于 2018-05-22 16:36:19  中国上海上海
6楼
站长,为啥我调用分享到空间的接口获取不到title和summary的值呢?页面上显示一直都是undefiend,但是分享成功了。 回复
站长 2018-05-25 09:06 中国广东深圳
https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=http://www.zixuephp.net/article-309.html?sharesource=qzone&title=%E4%B8%80%E9%94%AE%E5%88%86%E4%BA%AB%E5%88%B0QQ%E7%A9%BA%E9%97%B4%E3%80%81QQ%E5%A5%BD%E5%8F%8B%E3%80%81%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A%E3%80%81%E5%BE%AE%E4%BF%A1%E4%BB%A3%E7%A0%81&pics=http://www.zixuephp.net/uploads/image/20170810/1502335815192079.png&summary=%E9%80%9A%E8%BF%87%E5%90%84%E8%87%AA%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91%E6%8E%A5%E5%8F%A3%EF%BC%8C%E8%BF%9B%E8%A1%8C%E5%8F%82%E6%95%B0%E6%8C%87%E5%AE%9A%EF%BC%8C%E8%BF%9B%E8%A1%8C%E4%B8%80%E9%94%AE%E5%88%86%E4%BA%ABjavascript%E4%BB%A3%E7%A0%81%E5%8A%9F%E8%83%BD 这是我这里点击分享后跳转的地址,看下参数有没有没写对的 回复
那年的雨 2018-06-28 22:06 中国重庆重庆电信 回复 亲,你是怎么解决的?我也遇到这个问题了,不能获取title等值
站长 2019-10-18 18:10 中国广东省深圳市南山区 回复 分享到QQ好友时分享的图片太宽会导致title和summary的值undefiend
Sunflower  发表于 2018-05-22 16:37:45  中国上海上海
7楼
分享到好友一直都是发送失败呢 回复
站长 2018-05-25 09:16 中国广东深圳
分享到QQ好友的接口已经是更新了,最新的请参考这里。
https://connect.qq.com/intro/sharetoqq
回复
热闹 2018-08-06 14:08 中国上海上海电信 回复 网站失效了呢 请问有最新的网站吗
蛟龙  发表于 2018-06-13 19:26:19  中国北京北京联通
8楼
十分感谢站长耐心的帮助,成功搞定了pc 页面对于qq,微信,微博的分享。遇到的坑:注意地址栏后面带的参数的格式,比如url,图片的地址都得是有效的公网地址。微信分享的时候需要自己先写一个html,借助qrcode.js 生成二维码,然后把最终需要跳转的url 传过去就可以了 回复
站长 2018-06-13 20:21 中国广东深圳电信
回复
Troy_CIZION 2018-10-05 10:02 韩国首尔XXXX
请问,手机端有解没?
手机端qq好友分享的时候,弹出的是电脑端的登陆画面,体验很差
回复
彪‘、;。歌  发表于 2018-08-28 11:59:49  中国陕西西安电信
9楼
未登录qq时进行qq好友不停的闪 回复
站长 2018-08-28 16:12 中国广东深圳电信
是不是你那多次的打开了分享链接了 回复
~~~时光不老  发表于 2018-09-11 16:19:19  中国吉林长春联通
10楼
为什么分享之后的链接打开的页面不是分享的那个页面啊 回复
站长 2018-09-11 19:03 中国广东深圳电信
分享链接中url参数就是你的网址链接,你指定哪个链接跳转时就是哪个链接了。你可以在获取本页面链接时,alert()弹窗看看你实际获取到的链接。 回复
清风如醉  发表于 2018-09-18 11:02:39  中国北京北京联通
11楼
我这个本地登陆QQ 然后点击分享之后跳转到分享QQ 界面 那个登录框一直在闪,关闭都关不了 回复
站长 2018-10-31 16:55 中国广东深圳电信
回复
Troy_CIZION  发表于 2018-10-05 10:02:59  韩国首尔XXXX
12楼
请问,手机端有解没? 手机端qq好友分享的时候,弹出的是电脑端的登陆画面,体验很差 回复
站长 2018-10-16 16:01 中国广东深圳电信
只有这样的 回复
龙仔  发表于 2018-12-23 00:39:13  中国广西南宁移动
13楼
这个可以帮我做一个吗 http://connect.qq.com/widget/shareqq/index.html?url=你的分享网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片地址&summary=你的分享描述&desc=你的分享简述 回复
军  发表于 2019-08-12 15:20:00  中国上海市上海市
14楼
回复
2019-08-12 15:20 中国上海市上海市
112 回复
2019-08-12 15:08 中国上海市上海市 回复 333
不请自来  发表于 2019-09-05 18:49:05  中国上海市上海市闵行区
15楼
你好,我这边可以转载吗 回复
站长 2019-09-06 23:06
可以的。 回复
晨风  发表于 2月前  中国北京市北京市海淀区
16楼
aaa 回复
回复:[主题]
表情:
 提交评论
清空

发布评论:


登录:
  表情:
评论话题
推荐阅读:
php打印三角形   阅读:14001给网站添加一键新浪微博登录的功能   阅读:7800centos7开启交换内存   阅读:13143centos 7 添加 redis 3.2.9 开机启动脚本   阅读:11145centos 7 安装 nginx-1.11.10   阅读:10052centos 7 安装 php-7.1.3   阅读:23139web性能测试工具ab的测试方法   阅读:5977linux教程,鸟哥私房菜(pdf全集)   阅读:12199centos 7 忘记root密码   阅读:6381人性漫画:打工与创业的残酷区别   阅读:6393php设置cookie为HttpOnly防止XSS攻击   阅读:14851nginx编译安装后对nginx进行平滑升级   阅读:8347centos7中颁发CA证书并开启web https   阅读:10487php打印三角形   阅读:14001phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:14058web项目高并发量网站解决方案   阅读:5821web项目高并发量网站解决方案   阅读:5821霍金24岁博士毕业论文在线预览   阅读:7023nginx安装mysql和json模块   阅读:7414解决 nginx 413 request entity too large   阅读:5867centos 7 添加 redis 3.2.9 开机启动脚本   阅读:11145mysql共享锁和排他锁详解   阅读:9191php打印九九加法表   阅读:13430linux教程,鸟哥私房菜(pdf全集)   阅读:12199php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:10472html5 离线缓存的使用   阅读:5477php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:7432Nginx 配置文件详解   阅读:6695centos7开启交换内存   阅读:13143面试的时候回去等通知,等电话的真实意思   阅读:27814给网站添加一键新浪微博登录的功能   阅读:7800php设置cookie为HttpOnly防止XSS攻击   阅读:14851shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:10991php设置cookie为HttpOnly防止XSS攻击   阅读:14851mongodb设置shell开机启动脚本   阅读:12334linux教程,鸟哥私房菜(pdf全集)   阅读:12199centos 7 安装 redis 3.2.9   阅读:8109mysql5.7开启sql日志的配置   阅读:11631给网站添加一键新浪微博登录的功能   阅读:7800人性漫画:打工与创业的残酷区别   阅读:6393移动端自适应rem原理   阅读:11058移动端自适应rem原理   阅读:11058centos 7 安装 php-7.1.3   阅读:23139centos 7搭建zabbix3.4   阅读:8059centos 7.2 添加php7 的 php-fpm 开机启动   阅读:27770nginx编译安装后对nginx进行平滑升级   阅读:8347javascript对cookie操作详细代码函数   阅读:6591linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:20400最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:12748centos7.3安装mongodb3.6   阅读:9333