天下网吧 >> 网吧天地 >> 天下码农 >> 前端开发 >> 正文

解决「onmessage:wx.updateAppMessageShareData is not a function」故障一例

故障现象:

微信浏览器分享时提示「onmessage:wx.updateAppMessageShareData is not a function」错误,导致页面分享都失败。分享出去的只有一串网址。

故障分析:

一般提示这个首先考虑的是微信JS SDK没有引入导致。

但是本次案例不是这个原因,所以才分享出来,希望大家碰到这个问题时少走弯路。

相关微信分享代码如下:

wx.ready(function () {
	var title = document.title;
	var myurl = location.href.split('#')[0];
	var defaultImg = 'https://bbs.txwb.com/uc_server/data/avatar/000/07/57/03_avatar_small.jpg';
	var img = $("body img");
	var imgUrl = img.length >= 3 ? img[2].src : defaultImg;
	var desc = getDesc();
	if (!desc || desc == "") {
		desc = "天下网吧是最早最权威的网吧门户站,为网吧业主和相关人员提供网吧和网咖的技术,网吧联盟,经营,管理,网吧系统,无盘网吧,主页,网吧影视,收费,网吧软件,以及网吧论坛交流服务为主的行业第一站";
	}
	//分享给朋友
	wx.updateAppMessageShareData({
		title: title, // 分享标题
		desc: desc, // 分享描述
		link: myurl + '?from=wxh5Share', // 分享链接
		imgUrl: imgUrl, // 分享图标
		type: 'link', // 分享类型,music、video或link,不填默认为link
		success: function (res) {
			// 用户确认分享后执行的回调函数
			console.log("res", res);
		},
		cancel: function () {
			// 用户取消分享后执行的回调函数
		}
	});
	wx.updateTimelineShareData({
		title: title, // 分享标题
		link: myurl + '?from=wxh5Share', // 分享链接
		desc: desc, // 分享描述
		imgUrl: imgUrl, // 分享图标
		success: function (res) {
			// 用户确认分享后执行的回调函数
			console.log("res", res);
		},
		cancel: function () {
			// 用户取消分享后执行的回调函数
		}
	});
});
在这代码前面已经确认过,引入了微信JS SDK 1.6.0版本,代码如下:
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

如果是没引入JS SDK的话,那么在wx.ready这里就应该报错。所以一直排除了没有引入SDk的原因,导致一直没能解决问题。

实在没办法,困扰了一个上午后,突然想到,前几天有新增判断小程序环境的一些代码,代码是从网上直接复制的。仔细一检查代码发现有行代码是这样的:

<script src="//res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

这就是问题所在了。

这个代码放在引入1.6.0版本的微信JS SDK代码的前面,所以咱们一直引入的其实是1.3.2版本的JS SDK。而1.4.0版本前的微信JS SDK是没有wx.updateAppMessageShareData函数的。但是有wx.ready,所以就出现了标题中的错误了。

解决方法:

知道原因,解决起来就方便了,把引入的1.3.2版本SDK改成1.6.0版本的就搞定了。又可以愉快的微信分享H5页面啦:

本文来源:天下网吧 作者:天下码农

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行