PC端实现浏览器点击分享到QQ好友,空间,微信,微博等
网上现在比较流行的是JIaThis,但是测试的时候,不能分享给QQ好友,一直卡在输入验证码,以下代码亲测有效,可直接使用
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragrma", "no-cache");
response.setDateHeader("Expires", 0);
%>
<html>
<head>
<base href="<%=basePath%>">
<link rel="stylesheet" href="front/css/common.css" />
<link rel="stylesheet" href="front/css/header.css" />
<link rel="stylesheet" href="front/css/dr-info.css" />
<script src="front/js/jquery.min.js"></script>
<script src="front/js/lunbo.js"></script>
<script src="static/js/main.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- 分享网页JS -->
<script type="text/javascript" src="http://v3.jiathis.com/code/jia.js?uid=1" charset="utf-8"></script>
<!-- JiaThis Button BEGIN --><div id="ckepop">
<span class="jiathis_txt">分享到:</span>
<a rel="nofollow" onclick="jiathis_sendto('weixin');return false;" class="c1a"><span class="jtico jtico_weixin"> 微信<span class="media_go"></span></span></a>
<a rel="nofollow" onclick="qqShare()" class="c1a"><span class="jtico jtico_cqq"> QQ好友<span class="media_go"></span></span></a>
<a rel="nofollow" onclick="jiathis_sendto('tsina');return false;" class="c1a"><span class="jtico jtico_tsina"> 新浪微博<span class="media_go"></span></span></a>
<a rel="nofollow" onclick="share(4)" class="c1a"><span class="jtico jtico_qzone"> QQ空间<span class="media_go"></span></span></a> </div> <!-- JiaThis Button END --> <script>
function share(type) {
ShareAll(type);
}
//获取页面描述(description)
var meta = window.document.getElementsByTagName('meta');
var share_desc = '';
for (i in meta) {
if (typeof meta[i].name != "undefined"
&& meta[i].name.toLowerCase() == "description") {
share_desc = meta[i].content;
}
} //获取页面图片,可以多张,也可以一张,看自己的需求
var shareDara = {
pic : (function() {
var pics = ''
var num = 0;
$("#topicContent > p img").each(function(i, k) {
if (i < 1) {
pics += $(k).attr('src');
if (pics != '')
return pics;
} else {
if (pics != '')
return pics;
pics += ',' + $(k).attr('src');
}
})
return pics
})(),
title : (function() {
return delHtmlTag($("#tTitle").html().trim());
})(),
url : location.href,
desc : (function() {
return delHtmlTag($("#topicContent > p").eq(0).html() == undefined ? ""
: $("#topicContent > p").eq(0).html().trim());
})()
} //去掉所有的html标记
function delHtmlTag(str) {
return str.replace(/<[^>]+>/g, "").trim();
} function ShareAll(type) {
var obj_QZone = {
url : "www.cnblogs.com/zhangpengnike/p/7543721.html", /* shareDara.url, *//*获取URL,可加上来自分享到QQ标识,方便统计*/
desc : '分享QQ空间测试1', /*分享理由(风格应模拟用户对话),支持多分享语随机展现(使用|分隔)*/
sharesource : 'qzone'
}; var obj_WeChat = {
url : "www.cnblogs.com/zhangpengnike/p/7543721.html",/* shareDara.url, *//*分享URL*/
title : "用手机扫下面的二维码分享"//shareDara.title /*分享标题*/
}; var s = []; if (type == 1) { //朋友圈
for ( var i in obj_WeChat) {
s.push(i + '=' + encodeURIComponent(obj_WeChat[i] || ''));
}
var wechathref = "http://xx.com/WeChatShareQR/index?"
+ s.join('&');
alert(wechathref);
winpop(wechathref, 500, 450);
} else if (type == 2) { //微信好友
for ( var i in obj_WeChat) {
s.push(i + '=' + encodeURIComponent(obj_WeChat[i] || ''));
}
var wechathref = "http://xx.com/WeChatShareQR/index?"
+ s.join('&');
winpop(wechathref, 500, 450);
} else if (type == 4) { //QQ空间
for ( var i in obj_QZone) {
s.push(i + '=' + encodeURIComponent(obj_QZone[i] || ''));
}
var qzonehref = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?"
+ s.join('&');
winpop(qzonehref, 800, 600);
}
}
function winpop(url, iWidth, iHeight) {
var openUrl = url;
var iTop = (window.screen.availHeight - 50 - iHeight) / 2;
var iLeft = (window.screen.availWidth - 30 - iWidth) / 2;
window.open(openUrl,"_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width="+ iWidth+ ", height="+ iHeight+ ", top="+ iTop + ",left=" + iLeft);
}
/* QQ好友分享功能 */
function qqShare(){
var p = {
url:'www.cnblogs.com/zhangpengnike/p/7543721.html', /*获取URL,可加上来自分享到QQ标识,方便统计*/
desc:'发送信息给好友',
summary:'', /*分享摘要(可选)*/
pics:'', /*分享图片(可选)*/
flash: '', /*视频地址(可选)*/
site:'http://wwww.baidu.com', /*分享来源(可选) 如:QQ分享*/
style:'203',
width:16,
height:16
};
var s = [];
for(var i in p){
s.push(i + '=' + encodeURIComponent(p[i]||''));
}
var qhref = "http://connect.qq.com/widget/shareqq/index.html?"+s.join('&');
$(".c1a").attr({href:qhref,target:"_blank"});
};
</script> </body>
</html>
PC端实现浏览器点击分享到QQ好友,空间,微信,微博等的更多相关文章
- 微信sdk分享,苹果手机分享到qq好友和qq空间没有反应
最近线上程序苹果手机进行微信分享时,分享到qq好友和qq空间,无法调用分享程序,从微信跳转到qq后就没有反应了,但是安卓手机分享就没事? 解决:调用微信sdk分享时,分享的url(link)的参数不能 ...
- PC端判断浏览器类型及移动端判断移动设备类型
浏览器代理检测,可以检测出来用户使用的浏览器类型,也可以检测浏览器所在的操作系统 navigator.userAgent (1).判断浏览器类型 var t = navigator.userAgent ...
- share.js一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等
官网上面 https://github.com/overtrue/share.js非常详细的介绍了share.js他的使用 使用方式有:第一:使用 npm npm install social-sha ...
- 手机端点击复制链接到剪切板(以及PC端)
一直在找如何能点击按钮将一串字符串放到手机的剪切板上,但是可能是因为搜索的关键字不对,一直无果. 向同事请教了一下,给了一个clickboard.js的插件.开始试验的时候,使用手机自带浏览器进行测试 ...
- Fiddler4工具配置及调试手机和PC端浏览器
Fiddler最大的用处: 模拟请求.修改请求.手机应用调试 Fiddler最新版本 下载地址: http://www.telerik.com/download/fiddler Fiddler 想要监 ...
- 网站pc端分享QQ好友,空间,微博
在开发pc端网站的过程中,涉及到邀请好友的功能,之前单纯的复制粘贴已经无法满足用户的体验.故,仿照移动端添加自动分享到QQ好友,QQ空间,QQ微博的功能. 分享到QQ好友:http://connect ...
- Java SpringMVC实现PC端网页微信扫码支付完整版
一:前期微信支付扫盲知识 前提条件是已经有申请了微信支付功能的公众号,然后我们需要得到公众号APPID和微信商户号,这个分别在微信公众号和微信支付商家平台上面可以发现.其实在你申请成功支付功能之后,微 ...
- UC浏览器 分享到朋友圈和微信好友 分类: JavaScript 2015-04-28 14:45 615人阅读 评论(1) 收藏
用手机UC浏览器访问新浪微博,会注意到有这样的两个分享按钮: 在手机端浏览器里,点击分享按钮,就可以启动微信客户端并分享到微信.研究了下其源代码,存在这样的一个js:http://mjs.sinaim ...
- 微信公众平台实现pc端网站登录
亲测通过 1,pc端生成带有当前会话的sessionid的url(通过微信来扫描) 2,扫描后,微信浏览器将访问url,将微信浏览器中的sessionid改成通过url传过来的session(pc端) ...
随机推荐
- 大文件上传-大视频上传,T级别的,求解决方案
第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = ...
- k8s从Harbor拉取启动镜像测试
登陆harbor [root@k8s-master ~]# docker login 192.168.180.105:1180 Username: admin Password: WARNING! Y ...
- Spring MVC Captcha 验证码
本文专为不想一遍遍手写验证码代码的”懒猿“而生,只需要添加部分配置文件,拷贝一个控制层代码,就能在页面中方便使用.话不多说,进入主题: 一. Spring MVC 环境实现方式: 1.1 spring ...
- [BZOJ3262]:陌上花开(CDQ分治)
题目传送门 题目描述 有$n$朵花,每朵花有三个属性:花形$(s)$.颜色$(c)$.气味$(m)$,用三个整数表示.现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花$A$比 ...
- CAS-4.2.7接入REST登录认证,移动端、C/S端登录解决方案
一.发送GET请求获取RSA公钥和JSESSIONID 请求地址:/cas/login,请求类型:GET curl -I http://cas.gfstack.geo:8080/cas/login 返 ...
- 内存地址 Memory Management
Memory Management https://docs.python.org/2/c-api/memory.html Memory management in Python involves a ...
- VUE Right-hand side of ‘instanceof’ is not an object 解决方案
这里要注意一下, props之前没注意写成了 props: { wrd: '', sname:'zs' }, 这样是不能被解析成object的,所以一定要写的更具体一点 ...
- 在vue中如何引jquer
最近学习vue,习惯性的通过<script>标签引入jquery,写完后报错才想起来,这种方式在vue是不适用的. 1:因为已经安装了vue脚手架,所以需要在webpack中全局引入jqu ...
- DRF的路由生成类的使用
DRF路由生成类的使用 对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息. REST framework ...
- 006-Spring Boot自动配置-Condition、Conditional、Spring提供的Conditional自动配置
一.接口Condition.Conditional(原理) 主要提供一下方法 boolean matches(ConditionContext context, AnnotatedTypeMetada ...