ios真机调试遇到的图片问题汇总。图片不显示(已解决),base64图片过大导致页面卡住(未完美解决)。有没有大佬遇到类似问题的,救救我!
最近在用vue开发企业微信移动端项目,真机调试时,安卓、鸿蒙系统显示正常,苹果系统遇到点小问题。如下:
用vant
框架做下拉刷新功能,使用自定义提示,拷贝官网demo到项目中,代码如下:
<van-pull-refresh v-model="isLoading" :head-height="80" @refresh="onRefresh">
<!-- 下拉提示,通过 scale 实现一个缩放效果 -->
<template #pulling="props">
<img
class="doge"
src="https://img01.yzcdn.cn/vant/doge.png"
:style="{ transform: `scale(${props.distance / 80})` }"
/>
</template>
<!-- 释放提示 -->
<template #loosing>
<img class="doge" src="https://img01.yzcdn.cn/vant/doge.png" />
</template>
<!-- 加载提示 -->
<template #loading>
<img class="doge" src="https://img01.yzcdn.cn/vant/doge-fire.jpg" />
</template>
<p>刷新次数: {{ count }}</p>
</van-pull-refresh>
<style>
.doge {
width: 140px;
height: 72px;
margin-top: 8px;
border-radius: 4px;
}
</style>
PS: 真实项目中仅修改了图片路径。
部署到测试环境,安卓、鸿蒙、windows正常显示,但ios、mac不显示。
使用mac在企业微信客户端通过调试发现,图片dom存在,但查找元素时,页面中找不到。
解决办法有两种:
vant
自带的van-image
组件,最终会解析如上格式因为内网开发的限制,需要将图片处理为base64,才可以在外网展示。
ios/mac切换到图片较多的页面时,会出现卡崩的情况。其实也没有崩,得等个十来分钟才可以操作界面。(站在用户角度:和卡崩没什么区别)
在企业微信客户端通过调试发现,图片转换为base64后,体积较大,导致界面卡崩。
虽然仍存在一系列新问题,但这也比页面卡住卡崩强一万倍,负责人默默地接受了这个结果。
以上是我能够想到的一些解决办法。
base64问题,各位大佬如有更好的办法,欢迎留言支招。万分感谢!!