vue 项目 在ios下的兼容,笔记

it2024-12-11  15

1.低版本ios中input输入框的@keypress事件中的event对象中没有键盘的key值,但是能返回keyCode,所以使用keyCode

2.iheight值为100%或者百分比时,父类必须有height值,否则ios下height值会是默认值auto,也就是你内容多少就多高,还有低版本的ios对calc()的函数的支持也不完美,在安卓或者ios12以上可以写嵌套calc(),但是低版本是无效的,例如:calc(100% - calc(1px + x)),这种情况直接把里面的calc去掉就可以,如果又是一个百分比操作,calc(100% - calc(100% / x)),自求多福吧!!!

3.低版本不支持input的只读模式,readonly,虽然不会弹出软键盘,但是会有一个光标在输入框内,网上的解决办法:unselectable="on" οnfοcus="this.blur()"

4.对swiper的引用引起的白屏问题,在低版本ios10 时会出现es6转es5的兼容问题,因为swiper还依赖了dom7 和 ssr-window这两个包,解决办法:build/webpack.base.conf.js中新增

{ test: /\.js$/, loader: 'babel-loader', /** resolve('node_modules/swiper'),resolve('node_modules/dom7'),resolve('node_modules/ssr-window') * 兼容ios10以下以及安卓低版本不支持swiper 的依赖包中es6语法导致页面空白 */ include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client'), resolve('node_modules/swiper'), resolve('node_modules/dom7'), resolve('node_modules/ssr-window')] },

更多白屏的问题参考这个https://blog.csdn.net/sinat_33184880/article/details/90296478

最新回复(0)