小程序webview打开小程序原生页面_微信小程序中WebView中原生组件限制问题解析...

背景

在微信的文档中有一个章节说明了『 原生组件的使用限制 』有这么一段话

『由于原生组件脱离在 WebView 渲染流程外,因此在使用时有以下限制:

原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。

后插入的原生组件可以覆盖之前的原生组件。

原生组件还无法在 scroll-view、swiper、picker-view、movable-view 中使用。

部分CSS样式无法应用于原生组件,例如:

无法对原生组件设置 CSS 动画

无法定义原生组件为 position: fixed

不能在父级节点使用 overflow: hidden 来裁剪原生组件的显示区域

原生组件的事件监听不能使用 bind:eventname 的写法,只支持 bindeventname。原生组件也不支持 catch 和 capture 的事件绑定方式

在iOS下,原生组件暂时不支持触摸相关事件。

在工具上,原生组件是用web组件模拟的,因此很多情况并不能很好的还原真机的表现,建议开发者在使用到原生组件时尽量在真机上进行调试。』

解析

所谓的原生组件,即非Web组件系统扩展Native组件。因为小程序在视图渲染层面使用了WebView,而在Video,Map这类组件,使用WebView的WebCore渲染之后体验不佳的诟病一直存在,而且标准不一。小程序上因使用原生的WebView进行渲染,而不是用修改的WebView内核(至少在iOS上没有这么干),而无法对web原生标签扩展。基于用户体验,和坑爹的技术限制,小程序提出了原生组件的概念,也

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值