首页 > 其他分享 >兼容

兼容

时间:2024-12-24 09:34:39浏览次数:3  
标签:样式 支持 兼容 Skyline 组件 position

兼容

Skyline 目前各端的支持情况见下表

平台 支持版本 备注
安卓 8.0.33+ 支持
iOS 8.0.34+ 支持
开发者工具 Stable 1.06.2307260+ 支持
Windows 未支持 规划中
Mac 未支持 规划中
企业微信 未支持 开发中

可以看出,小程序若不是只跑在最新版本的微信移动端,则需要关注兼容 WebView 的情况,这里我们整理了一些兼容方法及常见的兼容问题

兼容方法

样式兼容

Skyline 与 WebView 的主要差异在于样式支持度,因此大部分兼容工作主要集中在样式适配,这里可以利用开发者工具的 WXML 调试工具,通过定位到有问题的节点,分析对应的样式兼容性。

另外,也可留意开发者工具调试器中的 console 面板,对于不支持的样式会给出 warning 日志,可根据日志进行调整

img

对于具体样式兼容的策略上,由于 Skyline 中部分样式的默认值与 web 不同,因使用默认值而省略的样式需要显示指定,如 flex-direction: row,但此处更推荐开启默认 Block 布局,默认值处理与 web 更接近,其它更多信息,详见 Skyline WXSS 样式支持与差异

根据不同 renderer 兼容

有时,单纯用 WXML 和 WXSS 无法做好兼容时,可以通过 JS 判断是否 Skyline 以使用不同的 WXML 或 WXSS 实现。我们在页面或组件实例增加了 renderer 成员,取值为 webviewskyline,参考以下代码

<view class="position {{renderer}}"></view>
.position {
    position: fixed;
}
.position.skyline {
    position: absolute;
}
Page({
    data: {
        renderer: 'webview'
    },
    onl oad() {
        this.setData({
            renderer: this.renderer,
        })
    },
})

常见的兼容问题

  • Skyline 一定需要应用到整个小程序吗?

    不需要,Skyline 支持按页面粒度开启,可渐进式迁移。

  • 开启 Skyline 后布局错乱

    一般是默认 flex 布局及 box-sizing 默认为 border-box 导致,推荐开发者开启默认 Block 布局默认ContentBox盒模型

  • 切换 Skyline后,为什么顶部原生导航栏消失?

    不支持原生导航栏,需自行实现,或使用 weui 组件库

  • 切换 Skyline 后,为什么 position: absolute 相对坐标不准确?

    在 Skyline 模式下,所有节点默认是 relative,可能导致 absolute 相对坐标不准。建议开发者修改节点 position 或者修改相对坐标。

  • 多段文本无法内联

    因不支持 inline 布局导致,需改成 flex 布局实现,或者使用 text 组件包裹多段文本,而不是用 view 组件包裹,也可以使用 span 组件包裹 text 和 image 混合内联。如 <span><image /></span><span><view style="width: 50px;"/></span>

  • 单行文本的省略样式失效

    text-overflow: ellipse 只在 text 组件上生效,不能应用在 view 组件上,同时需要声明 white-space: nowrap 以及 overflow: hidden,建议直接使用 <text overflow="ellipsis"/>

  • 多行文本的省略样式失效

    在单行文本省略的基础上,通过 text 组件的 max-lines 属性设置最长行数,即 <text max-lines="2"></text>

  • z-index 表现异常

    这是由于 Skyline 不支持 web 标准的层叠上下文所致,只有在同层级的节点之前应用 z-index 才有效,可根据实际情况调整取值

  • weui 扩展库无法使用

    平台正在支持扩展库,预计近期上线。建议开发者使用 npm 安装 weui 组件库 后,将 node_ modules/weui-miniprogram 下的miniprogram_ dist 替换为 链接 中的 miniprogram_dist,然后在微信开发中工具中构建 npm 即可。

  • 不支持组件 animate 动画接口

    暂不支持组件 animate 动画接口。如需实现相关效果,可使用 worklet 动画机制 实现

  • svg 渲染不正确

    Skyline 上的 SVG 不支持

标签:样式,支持,兼容,Skyline,组件,position
From: https://www.cnblogs.com/AtlasLapetos/p/18623799

相关文章

  • 【YashanDB知识库】XMLAGG方法的兼容
    本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7802943.html?templateId=1718516【关键字】XMLAGG方法的兼容【问题描述】崖山数据库不支持将XMLAGG相关的函数内容,需要替换成支持的功能函数WM_CONCAT(T.COLUMN_NAME)【问题原因分析】崖山数据库......
  • 国产化生态再升级!鼎捷新一代PLM与人大金仓完成产品兼容性互认证
    兼容性认证是确保不同企业的产品在特定环境下协同工作的关键步骤,对于保障系统的稳定性、可靠性至关重要。对用户而言,兼容性认证不但拥有更加流畅、安全的使用体验,更是代表着服务的连续性和高效性。此外,作为推动国产软硬件生态成熟和自主可控能力的关键环节,企业间的产品兼容互认......
  • 我的世界服务器搭建教程 兼容Paper核心 兼容Spigot核心
    注意:该服务器是基于Paper1.20.1核心进行初始化,默认兼容spigot插件。一、配置JDK环境二、服务器核心配置三、服务器启动四、加入游戏现在搭建出来的是原版生存服务器,接下来需要进行安装各种插件,包含登录认证;经济;商店;圈地;传送;多地图等可玩性插件。具体内容请看下一章。......
  • 电磁兼容(EMC):LVDS接口电路EMC设计详解
    目录1LVDS接口简介2LVDS接口工作原理3LVDS接口EMC优点4PCB设计要点1LVDS接口简介LVDS接口,即LowVoltageDifferentialSignaling,是一种低压差分信号技术接口。它又称为RS-644总线接口,是美国NS公司(美国国家半导体公司)为克服以TTL电平方式传输宽带高码率数据时功耗......
  • dice redis 兼容的内存数据库
    dicedb是一个兼容redis协议的内存数据库包含的特性兼容redis快速高效,单机环境比原生redis快5倍类sql查询支持push,pull支持原生json支持支持http以及websocket协议说明从介绍上性能是很不错的,但是目前缺少生产部署的详细文档以及配置说明,目前比较适合的是单机场景......
  • 平替兼容MFRC523|国产13.56MHz智能门锁NFC读卡芯片KYN523
    NFC是一种非接触式识别和互联技术,可以在移动设备、消费类电子产品等设备间进行近距离无线通信。通过NFC可实现数据传输、移动支付等功能。KYN523是一款高度集成的工作在13.56MHZ下的非接触读写器芯片,支持符合ISO/IEC14443TypeA、ISO/IEC14443TypeB协议的非接触读写器模......
  • 电磁兼容性(EMC/EMI)及其实践(附实践资料)
    电磁兼容性(EMC)实践涉及确保电子设备在电磁环境中正常工作,同时不产生不可接受的电磁干扰。以下是一些关键点,概述了电磁兼容性实践的主要内容:EMC的定义和重要性:电磁兼容性是指设备或系统在其电磁环境中符合要求运行并不对其环境中的任何设备产生无法忍受的电磁干扰的能力。它......
  • 腾讯通RTX最佳升级路径,兼容Linux内核国产系统及移动端
    一、腾讯通RTX继续使用的核心痛点自腾讯通RTX停更及官网下架后,用户失去了获取更新、技术支持与资源下载的途径,同时面临一系列不可忽视的问题:●在国产系统及移动端无法使用:腾讯通RTX仅支持Windows与Mac系统,无法运行在统信UOS、银河麒麟等国产操作系统以及移动端设备上,既不符合国......
  • nacos兼容sqlserver数据库
    源码连接:wanqiu/nacos-datasource-support1、最外层pom.xml添加驱动:<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>12.6.0.jre8</version></dependency>2......
  • 腾讯通RTX用户必看的升级方案,兼容Linux系统及移动端
    一、腾讯通RTX停更后的难题自腾讯通RTX停止更新并下架官网后,用户面临的挑战日益突出。这不仅是因为失去了技术支持、版本更新和资源下载渠道,更在于以下核心问题:●不适配国产系统与移动端:腾讯通RTX仅支持Windows和Mac系统,不兼容统信UOS、银河麒麟等国产操作系统,也无法在Android......