1. 分享问题
微信和企微打开h5不可以直接通过点击按钮分享好友和朋友圈,只能点击右上角弹出面板进行分享。微信小程序和App可以直接点击按钮调取分享。
2. 部分手机进入首页空白,只出现头部一点静态样式
3. 文章过滤二维码有些不成功
4. 后台管理系统第一次打包成功,后面再打包报错
解决办法:每次打包前更新下某个依赖,为5.0.2版本则更为5.0.1版本,为5.0.1版本则更为5.0.2版本。
npm i element-china-area-data@5.0.2
npm i element-china-area-data@5.0.1
5. vue3+vite项目在windows7 运行报错
- 描述:最近换了公司的台式机,运行成功但控制台报错,一些比较新的语法报错,思考是不是nodejs的版本不对,查阅vite官网发现NodeJS版本必须14.18+,win7系统默认情况下只能安转node13.14.0及以下版本,安装node14以上版本时会弹出需要更高版本的错误。
将电脑系统升级后安装了高版本的nodejs,仍然报错SyntaxError:Unexpected token .
;
点击去查看是说
?.
语法的问题。一开始一直在想是不是babel语法转换等配置的问题,
- 解决办法:最后发现是谷歌浏览器版本过低,升级到最新版本问题就解决了。
6. *部分低版本安卓手机进入首页完全白屏
手机类型:OPPO R11s Plus和VIVO X9
7. vite构建的项目某个页面热更新失败
解决办法:组件名的大小写写错了
8. (苹果12系统ios16.4.1)固定顶部的标题导航栏,随着van-list页面滚动一点点走位下移不回去
- 图片描述:
- 分析:
网上很多出现这样问题的原因是固定元素写在滚动元素内导致的。处理办法是分开写。
但本项目的导航栏和滚动模块是分开的兄弟节点,body和最外层的父元素都设置了高度,List的直系父元素container没有设置,当列表加载会溢出body和外层的父元素,我想是这影响的,相当于body也在滚动。
- 解决办法:需给超出子元素的直系父元素(非直系不行)设置高度及overflow-y: scroll,防止高度溢出到body影响到nav-wrap。
原代码:
.home-box {
min-height: 100vh;
overflow: hidden;
background: #FFFFFF;
}
修改为:
.container {
height: 100vh;
overflow-y: scroll;
background: #FFFFFF;
-webkit-overflow-scrolling: touch;
}
如果给home-box设置overflow-y: scroll,则home-container和container不能给固定高度;如果给home-container设置overflow-y: scroll,则container不能给固定高度,需随List的高度而变化,否则触底加载没反应。
9. ios在app内嵌h5页面使用vant-list上拉加载不成功,然后整个页面卡掉,按钮点击没反应。
描述: 在网页打开正常翻页加载;
分析:是不是ios滚动安全区域的问题,为什么页面会卡死按钮点击不了,控制台也没报错;
解决办法: 按前一个问题的处理方法(给固定高度再overflow-y:scroll
)就可以了。
10.* (苹果12系统ios16.4.1)设置背景颜色和边框阴影(background-color/box-shadow/border)有时失效
使用了vant-sticky组件实现吸顶,问题8的问题存在且没有监听到滚动(上滑固定在顶部下滑没恢复),且样式高度会留白,所以自己用原生写的吸顶效果,
然后又有样式问题:展开背景色消失,合起正常。
解决调试:
- 是否是var()样式引入不支持,改成普通也没用; --pass
- 是否是样式被别的覆盖了没显示,给指定样式添加
!important
没用; --pass - 是否是写在其他vant组件内(PullRefresh)影响了,一开始就提出来了,所以不是。--pass
- 样式文件名首字母大小写移入错误;--pass
- 将导航栏固定在顶部(原本滚动区域根据导航栏高度自适应),这时展开正常,合起有问题; --pass
- 样式写法(&.)太新了不支持;--pass
- 将页面简化,只留下顶部导航栏,结果同5;--pass
最后觉得是不是系统原因,跟代码没关系,一直觉得就background这种简单的样式不会有兼容性问题,结果一搜还真有人出现同样的问题!
解决办法:
- 掉圆角border-radius;
- 纯色背景也用背景替代。
11* (苹果12系统ios16.4.1)没数据时上拉固定在底部的导航栏消失不见。
问题描述: 模块高度适应在底部,不设置定位,本地刚好占满整个屏幕,手机上看底部导航栏有遮盖一点,向上可以拉出来;改成固定在底部,没数据用力上拉的时候导航栏消失不见;
12* 在vue3+vite项目下按需引入vant报错Failed to resolve import解决方案
在vite.config.js配置中添加代码块:
libs: [
{
libraryName: 'vant',
esModule: true,
resolveStyle: name => `../es/${name}/style`
}
]
13.vue3的路由路由时,params传参失效问题
点击链接查看更新日志:
14.安卓手机在微信打开某个h5页面长按保存图片失败,但有些页面可以
原因:安卓手机微信H5中无法长按保存base64图片、blob形式图片。
描述:该页面生成海报预览时,为blob格式的URL
运用:
export const imageToBlob = async url => {
return new Promise((resolve, reject) => {
const img = new Image();
img.crossOrigin = 'Anonymous';
const canvas = document.createElement('canvas');
img.onload = () => {
const ctx = canvas.getContext('2d');
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
canvas.toBlob(resolve);
};
img.onerror = reject;
img.src = url;
});
};
export const Blob2ImageFile = (blob, {name, type}) => {
return new window.File([blob], `${name}`, { type: type || blob.type });
}