记录阿里系安卓app内嵌套H5遇到的问题

前提:最近有些业务h5页面要嵌套在阿里的 app,但是他们无法提供测试包环境,所以在开发好页面后,在那边测试时发现了一些问题

ios一切正常。以下问题仅仅出现在阿里系安卓app(至少dingding和la za da是出现了)。这就能让人联想到:阿里U4内核的独特性(实测,在uc浏览器是没问题的)

正好沟通工具dingding也是阿里的,能直接打开h5链接复现问题

问题一:样式中的revert 恢复到浏览器默认样式不生效

解决:改为指定样式

例如:
list-style: revert
改为指定的数字:
list-style: decimal

这里复习一下Initial unset revert 的区别:

  • revert: 恢复为浏览器默认的属性。例如在浏览器user agent stylesheetol默认list-style-type: decimal,ul的是list-style-type: disc,div默认是block
  • Initial : 重置为CSS规范中指定的初始值. 如果对ol设置该值,就会变为和ul一致的实心圆圈discdiv设置为该值就会变为inline
  • unset: 对于非继承的属性,使用它表现和Initial一样。对于继承属性,会恢复为继承的属性.
问题二:border1px dashed的时候看不到线条

项目中使用的是postcss-pxtorem

解决:改为3px

问题三:使用百分比得到的高度区域设置滚动,滚动不生效

例子:fixed定位的区域设置了height:100%, position:fixed,所以截屏整个截屏区域是脱离文档流,相对视口来定位的,高度占满整个屏幕的。里面只有一个搜索框和搜索框下面的结果,结果多的时候可以滚动

企业微信截图_d7fa0bc6-1c1f-41c0-8d23-32dfb3f5da91.png

解决:将100% 改为100vh, 或者fixed定位的区域改为height:100vh,滚动区域计算100%减去搜索框也行

这让我想到了以前做大屏的时候,echart的画布也需要一个固定高度,而整个屏幕又需要兼容各种尺寸,所以当时使用vh既可以满足画布的高度宽度要求,又能满足尺寸的兼容

问题四:在表单使用v-if控制某个输入框不参与提交校验,无法生效

说来奇怪,我这里又不是用的v-show,元素存在才会导致校验不通过。元素都没了,怎么在lazada webview环境还会进入校验了呢

例子:
上代码解决一下

<template v-if="formData.npwpInfo.hasNpwp">
      <van-field maxlength="15" type="digit" class="field" :rules="rules.npwpNumber"   v-model.trim="formData.npwpInfo.npwpNumber" autocomplete="off"  name="npwpNumber"/>
 </template>


<script setup lang="ts">
const rules = ref({
  // 这里增加三元,因为只有在lazada app中切换隐藏后,还是进入了fail
  npwpNumber: formData.npwpInfo.hasNpwp ? [{ required: true, message: 'Masukkan nomor NPWP', pattern: PATTERN_NPWP }] : null
})
</script>
问题五:调用安卓客户端获取照片的方法,拿到的base64 后端说有换行符,decode不了

这个问题呢,本身在前端是没问题的,我从客户端拿到图片的base64去预览是可以的: 浏览器是会忽略换行符的
后端说是拿到这个字符串需要decode,然后上传到oss

我试了一下,使用jsatob(base64)解码成原始数据是没有问题的。可以由前端转了以后再给后端。

解决:后端决定直接替换换行符再解码。

这里有必要展开复习一下二进制:File、Blob、FileReader、ArrayBuffer、Base64

以上就是总结的一些问题

下面记录一点:安全区域

首先设置viewport-fit=cover网页内容完全覆盖可视窗口

 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no,viewport-fit=cover" />
  • 判断在ios并且处在app环境中的时候加一个特定的类名,比如:ipx-head-nav
  • 给ipx-head-nav加一个padding-top值空出来顶部安全距离
    // constant和env函数去适配iphonex以及IOS 11系统之后的机型
    .ipx-head-nav {
    padding-top: 20px; // iphonex系列机型之前顶部安全距离均为20px
   我用的40px,因为我还转为了rem
    padding-top: constant(safe-area-inset-top);
    padding-top: env(safe-area-inset-top);
    }

假设有一个需求,一个“返回顶部”的按钮,需要距离底部30px,还需要适配iphonex
.back-top-btn {
  bottom: 30px;
  bottom: calc(30px + constant(safe-area-inset-bottom));
  bottom: calc(30px + env(safe-area-inset-bottom));
}
// scss
// ipx系列底部padding值
@mixin iphonex-padding-bottom($paddingBottom: 0px) {
  padding-bottom: $paddingBottom;
  padding-bottom: calc(#{$paddingBottom} + constant(safe-area-inset-bottom));
  padding-bottom: calc(#{$paddingBottom} + env(safe-area-inset-bottom));
}

主要是想说安卓的安全区域:由于客户群体大都是安卓,据说env在部分情况下识别为0,当然网友还有更全面的用js判断:塞入一个高度为0隐藏的div,设置env,如果没有高度就再去设置一个固定高度

我这里选择了直接写死安卓顶部距离

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,063评论 6 510
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,805评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,403评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,110评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,130评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,877评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,533评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,429评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,947评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,078评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,204评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,894评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,546评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,086评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,195评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,519评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,198评论 2 357

推荐阅读更多精彩内容