网页A并调用了微信的JS-SDK做定制分享信息

怎么解释一种陌陌网页点分享按键发送给同学却无反应的问题?

问题描述:问题:

问题很简单,就是我们项目组做了一个网页A并调用了陌陌的JS-SDK做订制分享信息。前几天做好后一切正常网页 分享到微信 代码,做了简单的转发和测试都没有问题。到了某日(提问之时的明天),项目组小A(iOS和Android各一台)忽然说她未能分享了。我们一看病症如下:步入网页,点击右上角打开分享菜单,点击“发送给同学”后,陌陌无任何反应,难以弹出同学列表选择分享对象;并且点“发送到同学圈”还是能正常弹出发送窗口。并且她的安卓和苹果几乎同时出现这个不能分享的问题。其他人,无论是苹果还是安卓,都表示没有碰到这个问题。

尝试排错:

1、由于其他人分享正常网页 分享到微信 代码,因而小A企图清空iOS内陌陌的缓存、重启陌陌、更换帐号、甚至重启手机,而且无济于事,仍然不能分享。

2、排除是否所有网页都出现这个问题:小A随意步入几个其他人分享的其他页面,可以进行分享(订制的和非订制的)并且均无问题。

3、将网页A内的陌陌JS-SDK代码中config的debug设为true。小A打开网页时提示均为ok,没有出现错误,并且仍然未能调出同学列表分享。

4、项目组内一位胆大的小C退出了自己手机上的陌陌,登陆到小A手机上的陌陌里打开网页A,发觉未能分享。小A登回自己的陌陌,问题仍然。

5、使用陌陌web开发者工具访问网页A,可以正常调出分享界面以及分享订制信息。

代码:

我们使用了js函数来加载陌陌的JSSDK以及配置代码,有点类似于个别H5的游戏引擎:

    var loadSingleScript = function (src, callback) {
        var s = document.createElement('script');
        s.async = false;
        s.src = src;
        s.addEventListener('load', function () {
            s.parentNode.removeChild(s);
            s.removeEventListener('load', arguments.callee, false);
            callback();
        }, false);

图片[1]-网页A并调用了微信的JS-SDK做定制分享信息-唐朝资源网

document.body.appendChild(s); };

之后在index页面上执行:

loadSingleScript("../../weixin/wxwp.js?v="+Math.random(),function(){});

加上版本号可避免不遭到缓存影响

在wxwp.js上面,我们依葫芦画瓢加载陌陌的JS-SDK并做好相关初始化和配置:

var wxjsload = document.createElement('script');
wxjsload.async = false;
wxjsload.src = "http://res.wx.qq.com/open/js/jweixin-1.2.0.js";

图片[2]-网页A并调用了微信的JS-SDK做定制分享信息-唐朝资源网

wxjsload.addEventListener('load', function () { wxjsload.parentNode.removeChild(wxjsload); wxjsload.removeEventListener('load', arguments.callee, false); var xhr = new XMLHttpRequest(); xhr.open('POST', '../../getwxconfigdata', true); //向服务器要签名 xhr.addEventListener("load", function () { // 获得必要数据,初始化WX wx.config({.....}); wx.ready(function(){

图片[3]-网页A并调用了微信的JS-SDK做定制分享信息-唐朝资源网

//初始化成功,定制分享信息(服务器请求返回的定制信息) wx.onMenuShareAppMessage({....}); wx.onMenuShareTimeline({....}); }); }); xhr.send(null); // }, false); document.body.appendChild(wxjsload);

陌陌JSSDK配置里均根据文档的要求来写,权限插口啥的均无低级错误问题。

因为小A可以点击“分享到同学圈”并正常调出对话框,但是订制信息也正常,所以我们不觉得网页里的js代码出了严重的问题(例如签名之类的)。并且我们企图调整一下代码,发觉如下规律:

1、将wx.onMenuShareAppMessage({….});注释掉,除去订制信息后,小A马上能够分享给同学了(尽管没有了订制的疗效),一旦加上这行句子,小A就立刻分享不了。

2、同一个域名下另外一个网页B也包含同一个公众号下的订制分享但不是使用上述wxwp.js进行配置的,小A可以正常打开网页并分享到同学。这点排除了陌陌单独把小A+特定域名分享封号屏蔽的可能。

3、试图在wx.onMenuShareAppMessage({….});加入fail:function(){…};提醒是否有任何错误,结果未有任何提醒。

第1个答案:

后续:这个问题会神奇地自己恢复,非常是用户反复登陆到其他手机上再登回去就手动好了。如今严重怀疑是陌陌在特定情况下的BUG

第2个答案:

应当是自定义的设置内容不对:link、title、imgUrl、desc

下一节:多个beautifulsoup对象就能拼接成一个beautifulsoup对象么?

程序中按照条件筛选出多个beautifulsoup对象,须要合并上去进行操作,想问下bs4中有类似的方式么?现今获取到了一个soup_list=[sou…

© 版权声明
THE END
喜欢就支持一下吧
点赞266 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片