微信chooseImage接口部分机型选择图片后莫名其妙的跳转其他页面
问题描述
微信调用接口开启debug模式都是正常的,但是部分用户访问时程序到了chooseImage会跳转上上一页面或者关闭当前页回单微信菜单界面弹出提示拍照按钮。以下是我程序该方法调用:
var origin = location.origin;if(ctx != ""){ origin = origin + ctx + "/";}$.ajax({ type: "POST", url: ctx + '/weChat/getSignatureInfo', data: {pageUrl:location.href.split('#')[0]}, dataType: "json", success: function(data){var configData = { debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: data.appid, // 必填,公众号的唯一标识 timestamp: data.timestamp, // 必填,生成签名的时间戳 nonceStr: data.nonceStr, // 必填,生成签名的随机串 signature: data.signature,// 必填,签名,见附录1 jsApiList: ['chooseImage','uploadImage']// 必填,需要使用的JS接口列表,所有JS接口列表见附录2};// 加载微信SDK引入js // $.getScript('http://res.wx.qq.com/open/js/jweixin-1.0.0.js').done(function() { wx.config(configData); wx.ready(function () {var uploadImgs =null; wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: [ 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { alert("dep1"); uploadImgs = res.localIds; alert("dep2"); var localId = uploadImgs.pop(); alert("dep3");wx.uploadImage({ localId:localId, // 需要上传的图片的本地ID,由chooseImage接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) {alert("dep4"); var serverId = res.serverId; // 返回图片的服务器端IDalert("dep5"); if(serverId.indexOf("wxLocalResource://")>=0){ $("#errorMessage").text("图片上传失败,请重新上传!"); $('.phone_layer_box').show(); return; } sessionStorage.setItem("imgSrcA",uploadImgs); $("#img_upload_site_A").html("<img src='"+localId+"' class='img_upload_site' />");$("#imgAs").val(localId); $("#imgA").attr("value",serverId); } }); } });}); wx.error(function(res){// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。// alert(res.errMsg); }); // });}});
问题解答
回答1:经同事沟通,jssdk验证由开始的触发就验证调整为进入页面初始化验证,在接下来的测试中有一部小米2s依旧不行另一台可以。
相关文章:
1. docker gitlab 如何git clone?2. 网页爬虫 - Python:爬虫的中文编码问题?3. javascript - 修改表单多选项时和后台同事配合的问题。4. ubuntu 远程管理KVM设置问题5. javascript - vue生成一维码?求助!!!!!急6. css - 手机页面在安卓和苹果浏览器显示不同的小小问题7. javascript - 关于Js中 this的一道题8. angular.js - angularjs如何动态改变ng-model值,在controller中获取input中输入的值并组合post发送到后台9. javascript - H5页面怎么查看console信息?10. browsersync检测的静态页面只能用index.html命名,用demo.html就不能实时同步,检测动态页面的时候,比如wamp环境下,用browsersync能打开页面,但不能实现同步
