logo头像

流莹离|拼命往前,仗剑天涯

在做项目中,曾经遇到过的难题

elementui 和 chrome兼容

问题:饿了么框架的el-select标签选择国码,在iphone移动端的chrome78中,需要点击两次才能切换成功,安卓没有这个问题。
测试参数如下:
iphone xr w/ ios 13.1.3
chrome 78.0.3904.67 in Dark mode

解决1:使用原生的select标签。
在ios+chrome无法显示select的options数据,安卓没有这个问题,解决方案无效。

解决2:使用弹窗+raido标签。

webpack4打包,按需加载js

问题:webpack4打包的时候,会把一个.vue页面中的js全部打包进一个文件中,导致进入此页面时,加载很慢,页面很长时间无法响应。

解决:webpack4按需加载。

移动端|pc端适配

问题:iphone点击输入框,有焦点时,屏幕会放大。

1
2
解决:
<meta name="viewport" content='width=device-width, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0, user-scalable=0'>

问题:打包的时候,static静态文件资源路径问题

解决:引入staticc文件时,前面不加’/‘

记住密码

问题:浏览器会自动记住登录名,当用户没有用浏览器记住用户名时,系统没有自动记住登录名。

解决:使用浏览器记住时,会自动填充,判断该input是否有值,无值则使用系统的已记住的用户列表
1.使用localStorage存储用户名
2.自定义下拉列表,点击选项后填入表单

图片上传/转换

问题:裁剪压缩,用到canvas,canvas转换过的图片是base64,再转换为blob,最后转为File类型传给后台,但IE11及以下不兼容File的构造函数。

解决:提示IE浏览器不支持裁剪,或者后台可接收blob的文件。

浏览器自动密码弹窗

该方法ie不可用

1
<input v-model="text2" onfocus="type='password'" autocomplete="new-password" :type="type"/>

浏览器密码下拉

1
<input autocomplete="new-password" :type="type"/>