微信小程序webview是什么 小程序webview常见问题汇总

小程序开发

2021-05-26

  很多时候,我们的产品不仅一个端口,有APP、H5、小程序,特别是对于一些混合开发的webapp来说,H5已经开发好了,那么小程序是否一定要重新开发呢,当然不用,这就是小程序webview的魅力,今天厦门在乎科技为大家带来小程序webview介绍以及常见问题汇总,一起来了解一下吧。

微信小程序webview是什么 小程序webview常见问题汇总

  微信小程序webview是什么?

  从微信小程序基础库1.6.4开始,我们就可以在小程序内放置一个<web-view>组件来链接我们的HTML页面了。在这之前,我们在小程序中没有办法整合我们已有的HTML程序(比如HTML5文章系统,商城系统等),只能使用小程序的方式重新开发一套,现在有了<web-view>就可以方便的集成这些网页系统,为我们减少了可观的工作量。

  使用方法:

  1.设置权限

  要在小程序中访问外部网页,需要先设置允许访问的业务网站的域名。让我们先登录小程序平台管理后台页面,进入“设置”=>"开发设置",可以看到这边多出来了一块“业务域名”的设置区域。

  2.点击“开始配置”按钮,弹出一个窗口,我们可以在这个窗口中添加一个或多个你要在小程序中访问的域名。当然,不是所有的域名下的网页你的小程序都可以访问,只有那些你可以“掌控”的网站,你才可以访问!

  你需要在这个窗口里下载“校验文件”,并把这个校验文件上传到你的网站的根目录,供小程序平台进行验证,验证通过了才能成功添加域名。

  3.使用web-view组件显示HTML页面

  <web-view>组件的使用就比较简单了,类似HTML里面的<iframe>标签:

       <web-view src="https://www.xxxxxxxxx.com/index.html" />

  就这样,HTML页面就可以在小程序中显示了。

  但是,和<iframe>可以嵌入到页面的任意部分不同的是,小程序的这个<web-view>总是自动铺满整个页面,且每个页面只能有一个<web-view>,它会覆盖其他组件。也就是说,没有办法实现小程序界面组件和<web-view>页面混排的情况,这点要注意。

  4.在内嵌的HTML页面中跳转回小程序

  如果要在已经通过<web-view>嵌入小程序的网页中,跳转到小程序中的其他页面(Page),可以引入微信的一个JSSDK,使用它提供的方法来实现相关跳转功能。

微信小程序webview是什么 小程序webview常见问题汇总

  小程序webview常见问题汇总:

  1.微信登陆后,如何把身份传给h5

  方案:这个问题比较简单,在webview的url字符串上传递就是了。迅速解决,这种feel很nice啊

  但要注意,当小程序从后台模式切换到前台模式时,在onshow里要进行身份的有效性检查

  2.小程序cookie和微信共享,切到后台不丢失

  第一个页面开发完和后台接口联调的时候,突然发现token有问题(为了前后交互安全,基于OAuth实现的令牌)。

  我们的h5网站也是可以微信浏览器访问的,但发放的token和小程序的是有差异性的。反反复复折腾了两天,才知道小程序的cookie和微信共享,而且后台运行时依然保留。

  方案:进入时判断是否小程序,是的话全部清理token,重新获取,保证cookie数据的一致性

  3.webview间sessionStorage数据不共享

  这个问题的痛点不在于如何解决。方案可以用cookie或localstoreage来替代。

  4.返回按钮实现

  正常情况来说,当h5运行在浏览器的时候,跳转新页面左上会显示一个向左的返回箭头。哪如果在webview你也想煎饼果子来一套怎么办?

  和浏览器的区别就是,你得保证有两个webview。然后h5的正常跳转就会达到预期效果,我们的做法是,首页是一个webview,在这个页面上只存在一个跳转按钮,该按钮点击打开一个新的webview。

微信小程序webview是什么 小程序webview常见问题汇总

  以上就是今天为大家带来的关于“微信小程序webview是什么小程序webview常见问题汇总”全部内容,这里我们要注意,webview是承载网页的容器,自动铺满整个小程序页面,个人类型与海外类型的小程序暂不支持使用,想要了解更多关于小程序webview的内容,欢迎关注厦门在乎科技-专注小程序、app、网站开发

即刻联系「在乎科技」专业项目经理为您提供产品咨询和项目报价!

立即咨询

CONTACT US

联系我们

联系电话:

131-6399-9993

电子邮箱:

公司地址:

厦门市思明区莲花南路6号北方大厦601单元

公司地址