- web-view怎么通过bindmessage事件让小程序将web-view隐藏,或执行js逻辑?
现在的逻辑是这样的:我在小程序中使用web-view嵌入了一个我自己的页面,嵌入的url里带了一个token,也就是登录状态,现在这个token失效了,(token是用wx.login方法返回的code与后台获取的,所以token只能在小程序里获取)原本我想的是,通过某种bindmessage告诉小程序,重新给一个token,但是找了很多办法,最后发现,除了通过url地址,小程序不支持主动传递数据给H5页面。于是,我就想,能不能动态修改url地址,最后发现,修改了也没起效果。最后,我想通过wx:if的方式,重新渲染web-view标签,这样就可以刷新整个web-view了。但是,实操下来发现,在bindmessage事件里,修改url、showWeb,也是不生效的,尽管它打印出来的值是false,是'',但是web-view还是没有任何变化,也没有消失。而在其他地方(非bindmessage),修改是成功的,web-view也能消失。 我最终的目的就是,如何将token从小程序中传递给web-view内嵌的H5,或者,如何在bindmessage中执行的代码能生效。 H5页面就一个按钮,点击按钮,触发postMessage方法 ----html <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js" /> wx.miniProgram.postMessage({ data: { action: 'login' } }) -----wxml <web-view src="{{url}}" bindmessage="onMessage" wx:if="{{showWeb}}" bindmessage="onMessage"></web-view> ----js const app = getApp() Page({ data: { showWeb: false, url: '' }, onLoad() { let token = wx.getStorageSync('token') || ''; this.setData({ showWeb: true, url: `http://192.168.101.230:8081/?token=${token}` }); // setTimeout(() => { // this.setData({ // 这边设置false,web-view2秒后能消失 // showWeb: false // }) // }, 2000); }, onMessage(e) { // bindmessage事件 console.log('web-view message:', e); let data = e.detail.data[0]; if (data.action == 'login') { this.setData({ // 这里设置false,web-view还是显示,没生效 showWeb: false, url: '' }); console.log('showWeb', this.data.showWeb) // 但是这里打印的是false console.log('url', this.data.url); } } })
07-23 - 关于wx-open-launch-weapp的问题?
我有一个h5跳转小程序的功能,原来是在自己的服务器上的,当时已经成功跳转小程序了。后来将服务转移到了阿里云,结果跳转小程序的那个按钮就出不来了。能不能帮忙分析下是什么原因? 页面的按钮 [图片] 获取config需要的参数 [图片] 签名已经验算过了,是正确的。 引入的js [图片] 控制台打印了success,也就是wx.ready里面的success打印出来了,但是按钮没出现,可能是什么原因?
07-02 - 接口权限审核能不能快一点?等了一晚上还在审核中。
甲方需求是查列表的时候需要按由近及远进行排序,所以需要获取用户当前位置,但是这个列表页面使用了 wx.getLocation,这就导致小程序没法提交审核上线,然后申请wx.getLocation接口权限时,说申请的原因,辅助图片无法确认。我真不知道这该怎么给你确认,距离的计算是后台算的,我前端小程序只需要将用户当前gps位置传给后台就行,这就是一个列表展示页面。另一个页面使用了map地图,在加载地图时,也需要将地图的中心点设置成当前用户的位置,这里页需要获取用户当前的gps位置,也需要用到wx.getLocation这个接口。所以,能不能帮帮忙抓紧时间通过一下?
06-18 - 关于open-type="chooseAvatar"和type="nickname"获取的问题?
表单中想要获取用户的头像和昵称,使用了这两个来获取。 <button open-type="chooseAvatar" class="avatar-btn" bind:chooseavatar="onChooseAvatar">获取头像</button> <van-field label="微信昵称" value="{{ form.nickname }}" clearable type="nickname" placeholder="请输入微信昵称" input-align="right" data-type="nickname" bind:change="changeField" > </van-field> 正常能获取到,今天测试的时候,我换了个头像和昵称,结果发现,这两个组件返回的还是我旧的头像与昵称,并不是新的,为了避免是缓存的问题,我将小程序删除,重新进入,结果获取到的还是旧的头像昵称,并不是实时获取的,怎么获取到当前的头像昵称?
05-30 - 按钮获取头像、输入框获取昵称是不是更新了权限的限制?
之前通过 <button open-type="chooseAvatar" class="avatar-btn" bind:chooseavatar="onChooseAvatar">获取头像</button> 点击这个按钮可以直接弹出头像选择, <input type="nickname" />获得焦点的时候,键盘上方会显示微信昵称,但是现在,在首次进入小程序的时候,都没法获取,打开调试后,可以看到控制台的报错 [图片] 必须要重新进入小程序,才能正常获取
04-02 - 怎么设置editor长按复制粘贴功能?
#小程序://小程序示例/YyU1stdosL49mAc 官方的小程序示例里面的editor组件,我复制了一串文本,在编辑界面想要长按复制进去,但是当我手指松开的时候,弹出来的粘贴按钮也一起消失了,怎么让粘贴按钮保持显示
04-01 - 关于开放平台有一个问题求助?
就是我申请了开放平台,也把小程序、公众号都绑定到这个开放平台了,这时候,我通过云函数就能获取到用户的unionid。但是我在开发的时候,我是全都授权了,所以我想问问,如果是一个全新的用户,以前没有打开过这个小程序和公众号,那么,云函数在获取这个用户的信息的时候,能不能正常拿到他的unionid?
03-03 - 怎么在非editor的环境下渲染editor导出的html字符串?
按照官方的说法,在非editor环境下渲染editor导出的字符串,需要导入editor.css文件,但是现在我在wxss文件里使用@import导入这个css文件,工具直接报错,说找不到这个文件,想到小程序的样式文件都是wxss后缀名,我就将editor.css改为editor.wxss,再去导入,这时候能找到这个文件了,但是又出新问题,控制显示报错信息:*选择器不能使用。 有没有人实现过这个功能没,将editor组件导出的html字符串在普通的小程序页面里正确的显示出来?
02-26 - 小程序隐私保护指引已经审核通过,但是还是调用不了摄像头?
小程序主要是用canvas画图,然后让用户将canvas绘制的图片保存到本地相册,另外用户可以直接调用摄像头(camera)自定义取景拍照 现在这两个都已经填了隐私保护,也就是相册(仅写入)权限,访问摄像头,这两个都已经填好了,昨天审核也已经通过,并且,昨天我在线上试过,也能正常使用了,但是今天发布了一个新的版本,结果这两个权限就都没法调用了,这是什么原因 [图片]
2024-09-26 - canvas type=2d的滤镜没有效果,ctx.filter无效?
开发工具、PC端预览都能正常实现filter的效果,就是真机没有filter的效果,安卓和苹果都试了,都没有。具体效果如截图,代码片段也上传了。 [图片][图片]
2024-08-19