微信和QQ分享出现的问题总结


最近做了一个手机H5在微信和QQ里分享的问题,现在总结一下碰到的坑。。。。

1.第一个问题:config invalid signature

解决方法(1) 先看看生成的签名对不对,网上有生成工具

           (2)你的域名对不对,如果url有端口号,域名必须有端口号

           (3)生成URL时,如果URL后面#后有没有东西,有要去掉

            (4)如果当前URL和生成的URL一模一样,还是不行,在请求URL外加上encodeURI()就好了

2第二个问题:config invalid url domain

这个问题绝对是域名不对。。。。。

 

废话不多说,直接上H5页面的引用代码,生成签名的JAVA代码网上很多,我就不写了

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

<script language="javascript" type="text/javascript">
	
	wx.config({
		debug : false,//这里是开启测试,如果设置为true,则打开每个步骤,都会有提示,是否成功或者失败 
		appId : '${appid}',
		timestamp : '${timestamp}',
		nonceStr : '${nonceStr}',
		signature : '${signature}',
		jsApiList : [
		// 所有要调用的 API 都要加到这个列表中 
		'onMenuShareTimeline',"onMenuShareAppMessage","onMenuShareQQ","onMenuShareQZone","hideMenuItems"]
	});

	wx.ready(function() {
		// 1 判断当前版本是否支持指定 JS 接口,支持批量判断
		wx.checkJsApi({
			jsApiList : ['onMenuShareTimeline','onMenuShareAppMessage',"onMenuShareQQ","onMenuShareQZone","hideMenuItems"],
			
		});
		
		//隐藏QQ空间分享,QQ浏览器,safari
		wx.hideMenuItems({
			menuList: ["menuItem:share:QZone","menuItem:openWithSafari","menuItem:openWithQQBrowser"] 
		});
		
		var strTiele="标题";
		var strDesc="描述";
		var strLink="URL";
		var strImgUrl="小图片地址";
		//分享朋友圈
		wx.onMenuShareTimeline({
			title : strTiele, // 分享标题 
			 desc : strDesc,//分享描述
			 link : strLink, // 分享链接 
			imgUrl: strImgUrl,// 分享图标  
			
		});
		
		//分享给微信好友
		wx.onMenuShareAppMessage({
			title : strTiele, // 分享标题 
			 desc : strDesc,//分享描述
			 link : strLink, // 分享链接 
			imgUrl: strImgUrl,// 分享图标 
		});
		
		//分享到QQ
		wx.onMenuShareQQ({
			title : strTiele, // 分享标题 
			 desc : strDesc,//分享描述
			 link : strLink, // 分享链接 
			imgUrl: strImgUrl,// 分享图标 
		});
		
		//分享到QQ空间
		wx.onMenuShareQZone({
			title : strTiele, // 分享标题 
			 desc : strDesc,//分享描述
			 link : strLink, // 分享链接 
			imgUrl: strImgUrl,// 分享图标  
		});
	});

	
</script>

为了测试隐藏空间,我把QQ浏览器和QQ空间禁掉了,如果打开页面点分享会出现,是因为Android手机会出现2秒的延迟,正常。

以上就是微信的分享,在QQ里二次分享会乱的,大家放心,有更好的解决办法,QQ开放平台有自定义的js sdk

<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/qzact/common/share/share.js"></script>
<script language="javascript" type="text/javascript">
	
	var strTiele="标题";
	var strDesc="描述";
	var strLink="跳转地址";
	var strImgUrl="小图标地址";
	//分享
	setShareInfo({
         title:          strTiele,
         summary:        strDesc,
         pic:            strImgUrl,
         url:            strLink,
         WXconfig:       {//如果想微信里分享必选加,否之可去掉
             swapTitleInWX: true,
             appId : '${appid}',
     		timestamp : '${timestamp}',
     		nonceStr : '${nonceStr}',
     		signature : '${signature}'
         }
     });
	
</script>

 看吧,代码比微信分享的sdk简单多了,而且支持微信和QQ之间互相来回分享,没有问题

   详细可参考:http://open.mobile.qq.com/api/component/share


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM