小程序:web-view采坑指南

摘要:
最近负责开发的小程序已经发布上线,其中使用web-view组件完成的核心流程,遇到了一些坑,现总结如下:首先什么是web-view?小程序api定义:web-view组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面。第三方域名校验是我认为使用web-view的开发小程序最大的风险点!

最近负责开发的【广州医保查询】小程序已经发布上线,其中使用web-view组件完成的【在线绑定社保卡】核心流程,遇到了一些坑,现总结如下:

首先,让我们一起看看什么是web-view ?

小程序api定义:

web-view 组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面。个人类型与海外类型的小程序暂不支持使用。

1# 开发账号一定要是公司类型账号;个人类型和海外类型暂不支持!

只有公司账号才可以看到业务域名添加入口;且业务域名只支持https,需要备案;

域名格式只支持英文大小写字母、数字及“- ”,不支持IP地址及端口号。

配置前:

小程序:web-view采坑指南第1张

配置成功后:

小程序:web-view采坑指南第2张

2# 第三方网页以及网页iframe涉及到的所有域名,都要是https,并且要加域名校验;

这里要注意,即使是用来做页面跳转用的过渡域名,也要加域名校验!

第三方域名校验是我认为使用web-view的开发小程序最大的风险点!

如果在需求评审阶段,没办法避免使用第三方的开放能力或调用第三方的服务,第一步就要想办法让对方配合做域名校验;

校验成功后,再进入其他流程的开发。

校验注意事项:

保证校验文件有效地放在域名的根目录,比如要对https://www.xxx.968309.com做校验,那么 就要使得:https://www.xxx.968309.com/校验文件名是可以被有效访问的!

校验前:

小程序:web-view采坑指南第3张

校验后:

小程序:web-view采坑指南第4张

3#web-view 组件内包含的网页支持跳转返回小程序

首先引入小程序官方提供的基本js库

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

其次,根据api,在网页上加上相关处理代码,,比如:

var miniAppcode = $('#appCode').val();
if(miniAppcode == 'miniProgram'){
	$('#backToListBtn').removeAttr('onclick').text('返回首页');
	$('#backToListBtn').click(function(){
		wx.miniProgram.reLaunch({url: '/pages/index/index'})
	})
}

4# 通过web-view ,我们能解决什么问题?

场景一:必须要使用的第三方的开发能力,且对方只能提供H5网页的方案;

场景二:完全通过使用web-view嵌套也有的H5产品方案,来实现对应小程序产品的发布;

场景三:因为目前wx.navigateTo 支持的页面路径最多只能十层;web-view也可以解决页面层级比较深的业务流程;

场景四:因为目前小程序要求代码包大小不超过2MB,针对一些业务复杂,功能繁多的小程序产品,也可以通过web-view把一些流程用通过嵌套网页的形式实现。

当然,肯定也有其他更多的场景;这里我只列出我大概想到的,算是抛砖引玉,大家仁者见仁!

随着像美团前端团队的mpvue(基于Vue),已经京东凹凸实验室的Taro(基于React)等优秀的支持小程序的多端开发框架的出现;

小程序和H5网页的边界会渐渐模糊,一套代码,支持多端,会让web-view的使用场景越来越少!

最后,附上【广州医保查询】,欢迎大家体验!

小程序:web-view采坑指南第5张

免责声明:文章转载自《小程序:web-view采坑指南》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Image模块iOS添加测试设备与调试下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Charles对iPhone进行Http(s)请求拦截(抓包)

    首先准备工具 1> Charles (下载对应操作系统的安装包进行安装,本文使用 macOS 进行演示) 2> iPhone (本文使用SE,系统版本:iOS 10) 开始 首先,对Charles进行配置: 菜单:Proxy -> Proxy Settings... -> 勾选 Enable transparent HT...

微信小程序访问webservice(wsdl)+ axis2发布服务端(Java)

0、主要思路:使用axis2发布webservice服务端,微信小程序作为客户端访问。步骤如下: 1、服务端: 首先微信小程序仅支持访问https的url,且必须是已备案域名。因此前期的服务器端工作需要先做好,本人是申请了个人域名(已备案),并使用阿里云服务器,然后申请免费SSL,通过配置tomcat完成支持https访问。此外,intellJ IDE的j...

linux系统如何使用tess4j(java)进行ocr图片文字识别

1、安装GCC开发环境,从而支持后续程序的编译安装:yum groupinstall "Development Tools" 2、安装tesseract所需的依赖库yum -y install libjpeg* libpng* freetype* gd* giflib* libtiff* zlib* 3、安装tesseract和leptonica(1)首先...

nopCommerce 4.2 小程序商城(基础版)

NOP 4.2 小程序商城(基础通用版)欢迎购买或开发定制(讨论技术,没有开发预算的勿扰,谢谢)联系我 QQ:64664795(备注:CSND) 适用对象: 小商家进行商品展示及销售 有二次开发能力的创业公司及相关企业进行二次开发,节约开发时间及成本。 基础版本功能如下: #小程序端# 商城首页:轮播图片、新品、热卖、推荐商品商品分类:商品所有分类展示...

Fiddler安卓抓包详细教程

电脑端抓包一般图方便就用浏览器自带的,最近需要分析安卓一个APP的HTTP请求,尝试了wireshark(功能太强大了,然而我并不会用),tcpdump(用起来还是比较麻烦),网上搜了一下,还是使用Fiddler,Fiddler使用起来比较方便,但是只能抓http和https的包,不能抓使用socket的流量包。 一、安装与配置 从https://www....

小程序项目开发(一)

小程序项目开发 在时隔半年以后,又开始了小程序之旅。 在它刚开始出现的时候,只是简单的做了 技术预研的工作。 现在 又回到 原点,发现变化已经很大了 之前的开发过程的体验不是很友好,在写完 代码之后依然需要手动刷新, 文件夹中 存放的文件 繁杂、容易让新手混乱。 现在,为了满足开发环境的需要 wepy 这个框架就出现了。 现在,我们对于 wepy 这个...