
首先,要判断当前用户的微信版本以及是安卓还是iOS,要调用方法wxgetSystemInfo()
官方文档:>
小程序开发中遇到的问题:小程序中嵌套了一个webview页面,webview页面中有静默授权(A1页面静默授权后重定向到A2页面),点小程序原生的返回按钮会返回到A1页面,然后页面就会反复静默授权
解决方案:通过 historypushState 添加历史记录名目, historyonpopstate 监听历史记录条目发生变化时,调用小程序 APIwxnavigateBack
刚开始想的解决办法是用localStorage,跳转到A2时存储一个值,返回到A1时获取这个值,如果有值就清除这个值并且回退到小程序页面。听起来似乎也可行,但小程序的缓存和微信的缓存是同步的,如果在微信环境中直接访问A1页面,重定向到A2会存值,如果直接关闭页面,不会被清除,那么在小程序中访问时就直接回退了。
文章转自微信社区
解决小程序中webview页面多层history返回问题
在微信小程序的开发过程中,常常会遇到一种情形,就是需要在一个页面同时显示网页和按钮等原生组件,但是微信小程序的web-view组件却只支持整个页面显示网页,不支持同时显示。那么我们需要转换一种思路,通过rich-text来说显示网页内容,那么就能实现需求了。
那么我们应该怎么通过一个网页链接来显示内容在rich-text中呢?
1、通过url链接来获取html字符串(测试链接: >
功能已通过原生+vue混合开发的方式实现了,现需要将这个功能原封不动的搬到微信小程序。综合各方面评估,选择了微信小程序套webview的方式实现(若时间允许,建议还是通过小程序实现)。
采用小程序webview的方式,可以复用大部分H5页面,但H5调用的原生方法还是需要重新实现。实现方式主要分以下几种情况(当然也可以通过jssdk的方式去实现 >
可以通过检测userAgent来判断微信小程序还是H5,具体方法如下:
1 在CSS中使用@media媒体查询功能,根据不同的userAgent设定不同的样式。例如:
@media screen and (min-width: 320px) and (max-width: 480px) {
/ H5 /
}
@media screen and (min-width: 1024px) {
/ 小程序 /
}
2 通过JavaScript代码获取当前页面的userAgent字符串,然后根据字符串中包含的内容来判断是微信小程序还是H5。
众所周知微信的WebView有很强的缓存保护机制,当你第一次访问页面报错后 就算修改了线上的H5页面再去访问也是照样空白
怎么解决呢
其实很简单,WebView的缓存机制都是通过链接缓存的给链接后面加一个时间戳或者其他的随机字符串就OK啦
以上就是关于微信小程序-手机 *** 作系统以及微信版本判断全部的内容,包括:微信小程序-手机 *** 作系统以及微信版本判断、小程序左上角webview关闭、解决小程序中webview页面多层history返回问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)