微信分享的链接必须是当前链接

 1 /**
 2  * 微信分享
 3  *  title 分享标题,默认document.title
 4  *  desc 分享描述,默认document.title
 5  *  link 分享链接,默认当前地址
 6  *  imgUrl 分享缩略图,默认页面logo
 7  */
 8 var wxShare = function (shareData){
 9     //动态引入微信js
10     var wx_script = document.createElement("script");
11     wx_script.src = "http://res.wx.qq.com/open/js/jweixin-1.0.0.js";
12     var first_script = document.getElementsByTagName("script")[0];
13     first_script.parentNode.insertBefore(wx_script, first_script);
14
15     var ua=window.navigator.userAgent;
16     var reg=/MicroMessenger/i;
17     var iswechat=reg.test(ua);
18     var url=document.location.href;
19
20     shareData.title = shareData.title ? shareData.title : document.title;
21     shareData.desc = shareData.desc ? shareData.desc : document.title;
22     shareData.link = shareData.link ? shareData.link : url;
23     shareData.imgUrl = shareData.imgUrl ? shareData.imgUrl : $(‘.header-logo a img‘).attr(‘src‘);
24
25     if (iswechat) {
26         $.ajax({
27             url: "/wechat/wxshare.html?url="+encodeURIComponent(shareData.link),
28             type: ‘get‘,
29             dataType: ‘json‘,
30             success: function(rs) {
31                 var appId = rs.appId;
32                 var timestamp = rs.timestamp;
33                 var nonceStr = rs.nonceStr;
34                 var signature = rs.signature;
35                 wx.config({
36                     debug: false,
37                     appId: appId,
38                     timestamp: timestamp,
39                     nonceStr: nonceStr,
40                     signature: signature,
41                     jsApiList: [
42                         ‘checkJsApi‘,
43                         ‘onMenuShareTimeline‘,
44                         ‘onMenuShareAppMessage‘,
45                         ‘onMenuShareQQ‘,
46                         ‘onMenuShareWeibo‘,
47                         ‘onMenuShareQZone‘,
48                     ]
49                 });
50                 wx.ready(function () {
51                     //分享到朋友圈
52                     wx.onMenuShareTimeline(shareData);
53                     //发送给朋友
54                     wx.onMenuShareAppMessage(shareData);
55                     //分享到QQ
56                     wx.onMenuShareQQ(shareData);
57                     //分享到腾讯微博
58                     wx.onMenuShareWeibo(shareData);
59                     //分享到QQ空间
60                     wx.onMenuShareQZone(shareData);
61                 });
62             }
63         });
64     }
65 }

在红色箭头处打断点,修改分享链接为其他链接(如图显示,shareData.link为当前链接)

从断点执行中可知:wx.ready 执行之后,提示错误 “{ "errMsg": "config:invalid signature" }” 无效的签名

该处的"无效的签名"的意思是:该签名对当前地址无效,毕竟的ajax请求签名时shareData.link 是其他页面地址。

wx.ready(function(){

// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。

});

 分享注册函数 onMenuShareXxx 的地址是当前地址,要求的签名也必须是当前地址的。

总结:微信分享链接必须是当前链接。

时间: 2024-10-12 19:00:13

微信分享的链接必须是当前链接的相关文章

通过微信分享链接,后面会被加上from=singlemessage&isappinstalled=1可能导致网页打不开

微信分享会根据分享的不同,为原始链接拼接如下参数: 朋友圈   from=timeline&isappinstalled=0 微信群   from=groupmessage&isappinstalled=0 好友分享 from=singlemessage&isappinstalled=0    项目中,由于请求后台数据的网址中的一部分是通过浏览器地址栏数据获得的, 获得此数据的处理过程没有考虑会被微信加参数的问题,因此得到的数据不正确, 导致网页无法访问. 弄了好久才找到这个原因,

通过微信分享链接,后面被加上from=singlemessage&isappinstalled=1导致网页打不开

微信分享会根据分享的不同,为原始链接拼接如下参数: 朋友圈   from=timeline&isappinstalled=0微信群   from=groupmessage&isappinstalled=0好友分享 from=singlemessage&isappinstalled=0 在连接后加上?&再进行分享,分享成功,原理

网站链接打开以后左边的小图标添加和微信分享左边图标

网站链接打开以后左边的小图标添加: <link rel="shortcut icon" href="styles/img/Logo.jpg">      <link rel="apple-touch-icon" href="styles/img/Logo.jpg">      <link rel="apple-touch-icon" sizes="72x72"

微信分享链接获取标题和小图片

一.标题 微信分享链接的小标题:自动拉取title标签的内容. 二.链接的小图标 今天测试的时候发现,网页链接在QQ浏览器上打开,分享的小图片是有显示的, 自动获取网页上的一张图片,但是为什么微信浏览器分享到朋友圈时图片却不显示呢? 想要的效果: 现实效果: 在网上搜了一下发现,原来是因为 微信浏览器上自动拉取的图片必须是大于300*300px的图片,( 会取 最近一张图片符合条件的). 解决办法: (一) 在boby 和head之间添加下面的代码即可,图片路径自行修改. *注意这个图片必须是大

微信分享 链接打不开 404错误-destoon

微信分享页面打开404错误 查看分享链接 没问题  可以单独打开   动态可打开   伪静态问题 修改伪静态 原文伪静态(destoon) RewriteRule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3 RewriteRule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3 修改为 RewriteRule ^(.*

Vue 项目实现微信分享的自定义分享链接问题解决

前言: 前两天在做微信公众号里的项目的时候有一个需求是在 vue 项目中实现微信分享,然后在自定义分享链接的时候出了一些问题,分享出去的自定义链接(链接中携带参数)总是会直接跳到项目首页,而且是玄学跳转,时而自定义链接正常,时而直接跳到首页,答案在文章最后面. 正文: 1. 这里不说微信分享中的配置微信 js-sdk ,请自行查阅微信公众号开发文档 2. 阐述下 解决此问题的一些思路 解决这个问题需要知道这样的信息,微信公众号中的项目在请求签名和自定义分享链接的时候对于Vue 的#路由不太友好

微信浏览器无法跳转到apk下载链接 微信分享的app下载不了

现在微信分享的功能很多,从分享的链接下载apk安卓包是很正常的,但是微信不让下载apk包,只能通过浏览器来下载,但是这要给用户一个提示吧,不然用户不知道 下面我们来实现,引导用户通过浏览器来下载apk包 看下效果,图片在最下面 在需要下载的页面中加入下面的代码 <div class="weixin-tip" style="display:none;">   <p>   <img src="/images/weixin-tip.

微信分享链接打开无法下载APP的解决方案(微信自动跳转浏览器打开下载链接)

需求分析 目前的APP基本都支持二维码扫描下载,二维码下载也成为了大家用起来很顺手的一种方式.由于微信的用户基本占据了国内市场的90%,说到扫一扫用户第一个想到的就是打开微信扫一下,通过微信分享APP,再从分享的链接下载apk/ios包.故用户通常都是使用微信打开链接或扫描二维码前往下载页,这是刚需. 然而在我们做微信营销和推广宣传的时候,经常会遇到链接被微信拦截,尤其是做棋牌类.黑五.捕鱼.重度博彩类的商家,导致用户在微信内打开链接提示“已停止访问该网页”,无法下载app等情况.这无疑是给推广

微信分享链接带图片文字和描述

微信最近推出的一个社交工具网站 www.faxinxi.la ,能发投票.活动.文章. 但在微信外的浏览器包括PC端和移动端的都无法浏览这个网站任何内容,那是通过什么来控制的呢?通过微信内输出特定JS接口不太可能,那就只能通过Header信息里的User-agent了,实验后证实没错,通过探测可以知道微信内的User-agent信息: Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML