uniapp中app真机模拟以及小程序编译后css样式异常失效问题原因及解决方案

北海的大鱼 北海的大鱼     2023-04-10     334

关键词:

前言

最近写使用uniapp写app,开发的时候写样式都是使用浏览器h5进行调试一切正常,但是最后进行手机真机调试的时候css样式出现了异常,本文归纳常见的问题

比如在h5页面显示正常:

但是在真机调试app的实现则显示:

H5正常但App异常的可能性

  1. 使用了不支持的选择器
    非H5端不支持*选择器;
  2. 组件和页面样式相互影响
    非H5端默认并未启用 scoped,如需要隔离组件样式可以在 style 标签增加 scoped 属性,H5端为了隔离页面间的样式默认启用了 scoped。我之类就是这个问题导致的。
  3. webview浏览器兼容性
  4. 原生组件层级问题 H5没有原生组件概念问题,非H5端有原生组件并引发了原生组件层级高于前端组件的概念,要遮挡video、map等原生组件,请使用cover-view组件。

H5正常但小程序异常的可能性

  1. 同上
  2. v-html在h5和app-vue均支持,但小程序不支持
  3. 小程序要求连接的网址都要配白名单

小程序正常但App异常的可能性

vue页面在App端的渲染引擎默认是系统webview(不是手机自带浏览器,是rom的webview),在较老的手机上,比如Android4.4、5.0或iOS8,一些新出的css语法是不支持的。注意这不意味着不能使用flex,Android4.4也支持flex,只是不要使用太新的css。可以找Android4.4手机或使用pc模拟器实际测试下,大多数国产Android模拟器都是4.4或5.0。

小程序或App正常,但H5异常的可能性

  1. 在 uni-app 2.4.7 以前,H5端不支持微信小程序自定义组件,即wxcomponets下的组件,此时可能产生兼容问题。从 2.4.7 起,H5也支持微信自定义组件,不再存在这这方面兼容问题。
  2. App端使用了App特有的API和功能,比如plus、Native.js、subNVue、原生插件等
  3. 使用了小程序专用的功能,比如微信卡券、小程序插件、微信小程序云开发。对于云开发,建议使用可跨端的uniCloud。

App正常,小程序、H5异常的可能性

代码中使用了App端特有的plus、Native.js、subNVue、原生插件等功能

完整的问题及解决办法可查看官方文档 传送门

uniapp安卓编译路径失效

...用chooseLocation方法获取位置信息了。参考技术A可以尝试在uniapp中调整相 查看详情

小程序地图uniapp开发微信小程序,显示地图功能,且点击后打开高德或腾讯地图。(代码片段)

...高德或者百度地图api之类的。其实完全没必要,使用uniapp自带的方法uni.openLocation即可。话不多说,完整代码、注释、以及开发中遇到的问题如下所示:1、uniapp打包成微信小程序后—配置app.json文件//开发过程中,... 查看详情

uniapp运行小程序教程

1.首先安装HBuilderX(HBuilderX-高效极客技巧) 2.下载微信开发者工具(微信开发者工具下载地址与更新日志|微信开放文档) 安装默认路径,安装完成之后打开微信开发者工具之后以下操作    设置---->安全设置---->打开服务口端号... 查看详情

uniapp小程序map地图上显示多个酷炫动态的标点,头像后端传过来,真机测试有效(代码片段)

文章目录前言一、使用uniapp原生的map组件二、发现坑1三、分析ui图----发现坑2四、发现坑3四、发现坑4五、发现坑5----------------很重要,楼主花费了好长时间,愿大家都跳坑六、实现聚合六、总结前言最近正在做小程序地... 查看详情

如何判断小程序是原生开发还是uniapp开发?

...查看项目的配置文件。uni-app会在项目根目录下生成一个uniapp.config.js的文件,该文件包含了uni-app项目的各种配置信息。如果你的小程序项目中有以上三个特征,那么它很可能是使用uni-app开发的。当然,也有可能是使用uni-app开发... 查看详情

uniapp怎么实现选择和上传图片分开

参考技术A打开HBuilderX开发工具,创建uniapp项目,绑定点击事件即可。在methods中,定义点击事件,调用api中的unichooseImage。在上传照片的API中,请求成功后调用unigetImageInfo,获取图片信息。在获取图片方法下方,调用unipreviewImage... 查看详情

uniapp区分环境打包配置(代码片段)

概述在开发web时,有时需要一套代码编译发布到不同的站点,比如主站和微信h5站。(注意不是一套代码内部自适应不同浏览器,是真的分离部署了不同的网站)在开发小程序时,经常有扩展小程序平台... 查看详情

uniapp项目真机调试遇到的问题(持续更新中)

参考技术A参考:HBuilder/HBuilderX真机运行、手机运行、真机联调常见问题驱动问题:电脑已安装手机驱动,但是电脑没有任何反应或提示驱动问题,可通过以下方式解决:电脑安装驱动精灵类程序,通过它们来重新安装驱动(装... 查看详情

uniapp中$refs不支持(微信小程序)

参考技术Auni-app项目中$ref取不到值,主要分两种情况,一种是nvue,一种是vuevue文件走的webview渲染,nvue走weex方式的原生渲染小程序本身就不支持操作dom,要获取dom信息请用uni.createSelectorQuery()vue文件中:uni-app中可以使用$refs,但... 查看详情

uniapp小程序——app项目云打包(安卓)(代码片段)

...项目后,如何进行打包安装。本文主要讲述的是使用uniapp打包安卓。🍂正文第一步:查看自己的项目的基础配置第二步:选择打包项目选中我们要打包的项目方式一:可以右键我们我们的项目目录-》发行-》... 查看详情

uniapp小程序——app项目云打包(安卓)(代码片段)

...项目后,如何进行打包安装。本文主要讲述的是使用uniapp打包安卓。🍂正文第一步:查看自己的项目的基础配置第二步:选择打包项目选中我们要打包的项目方式一:可以右键我们我们的项目目录-》发行-》... 查看详情

关于uniapp地图真机运行正常,打包后无法使用

...常,打包后无法使用,可以往打包信息填写检查。直接用uniapp运行的是在DCloud基座上运行,已经有高德申请的key了而打包apk包之后需要自己重新申请。下面是关键:只需要去高德、百度或者其他开放平台申请平台key拿到申请之后... 查看详情

uniapp转微信小程序后vue.prototype定义的全局变量在微信小程序页面无法直接访问(代码片段)

使用Vue.prototype定义的全局变量使用uni-app开发多端应用,为了防止小程序上应用包过大同时又不影响app端的使用体验,我将一些静态资源的路径改为了Vue.prototype定义的全局变量进行拼接。app使用/static/iconimg/+图片名称... 查看详情

uniapp转微信小程序后vue.prototype定义的全局变量在微信小程序页面无法直接访问(代码片段)

使用Vue.prototype定义的全局变量使用uni-app开发多端应用,为了防止小程序上应用包过大同时又不影响app端的使用体验,我将一些静态资源的路径改为了Vue.prototype定义的全局变量进行拼接。app使用/static/iconimg/+图片名称... 查看详情

仿抖音上下滑动播放视频(兼容安卓,ios,小程序,h5)

...技术A运行条件HBuilderX2.2.2安装后,从插件市场导入,即可真机运行vue项目地址githubuniapp插件市场说明插件分别用swiper实现(多端兼容)和css3动画实现(暂时只支持app),可自行切换。插件在uni-app编译模式下编写(已切换)。默认为weex编... 查看详情

uniapp仓库需要传unimodules吗

《uniAPP仓库不需要上传unimodules,》uniapp是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平... 查看详情

uniapp高频面试题合集(代码片段)

...法        条件注释定义        条件注释的语法uniapp中封装接口请求相较于微信小程序有什么要注意的uniapp中为什么会出现跨域问题,如何解决谈谈你对uni-app的理解详情请点击此处uni中如何为不同的平台设置不同的代码... 查看详情

vue+elementui和uniapp小程序+vantweapp(代码片段)

...,,,,又发现新大陆,小程序除了uniapp还有taro,又有新东西学了第一种PC端VUE+elementui①npminitvue@latest②npminstallelement-plus--save顺便说一句,如果安装了一个不想要的包,在package.json里面删掉然后重... 查看详情