岳阳做网站公司,自主设计和创建网站,搭建企业网站宽带多大,企业网络营销的意义问题#xff1a;
部分版本在ios 中没有问题#xff0c;但是安卓中不触发图片选择和拍照#xff08;之前是可以的#xff0c;可能是没有锁定版本#xff0c;重新发版导致的#xff09;。在ios中下拉文案是英文#xff0c;html配置lang等于 zh 也没有用#xff0c;ios里…问题
部分版本在ios 中没有问题但是安卓中不触发图片选择和拍照之前是可以的可能是没有锁定版本重新发版导致的。在ios中下拉文案是英文html配置lang等于 zh 也没有用ios里配置也无效。我自己遇到的ios中拍照上传图片点击使用图片之后会刷新整个页面。
解决方案
安卓使用app 提供的原生方法上传图片上传逻辑放在app完成上传成功之后给h5 返回图片url 1-1利用**click.native** 的特性会触发组件上传方法之前调用 clickUploader 方法判断如果是安卓app则阻止事件向内部传递然后调用原生app提供的方法。 1-2app上传成功之后会调用前端绑定在window上的方法backImgUrlFromApp然后把图片的url传给H5端。 1-3此种方法不会自动触发组件的afterRead方法了需要自己手动调用。 1-4如果是在ios app中打开的H5, 则不会触发 event.preventDefault()会走组件的触发ios上传功能
van-uploaderv-modeluploader1max-count1:after-readafterReadupload-text选择图片click.nativeclickUploader($event, uploader1)/// 上传方法
clickUploader(event, formKey) {if (!this[formKey].length inAndroidApp()) {event.preventDefault();window.nativeApp.callAlbum();(window as any).backImgUrlFromApp async (url: string) {console.log(拿到app返回的上传图片的url, url);this[formKey] [{ url }];this.afterRead({ filePath: url }, true);};}},在ios中下拉文案是英文这个问题需要让ios在webview中设置一个属性不太懂可以直接把这个链接给ios开发看 参考来源https://www.jianshu.com/p/9ed94a238e28
需要在info.plist 里面填加一个key表示app 使用系统的语言,
key为Localized resources can be mixed 设置为YES 就可以了3. ios拍照上传会刷新整个页面问题 先让ios排查webview中是否有调用触发刷新的方法
这个问题我是让ios排查的因为很明显是触发了整个webview的刷新
后面发现是他代码里写了进了某个生命周期触发了整个页面的刷新
历史遗留问题是之前的开发写的至于为什么无从得知