原因:不支持ES6,无法使用promise 解决办法: 1.安装 es6-promise cnpm install es6-promise --save-dev 2.引入 es6-promise import promise from 'es6-promise' 3.注册 es6-promise ,注意需要在aixo之前注册 promise.polyfill()…
报错信息 ios 11以下 cannot clone a disturbed response github.com/github/fetc- 问题发生场景 使用了一个或者多个三方库 三方库或者自己的业务代码重写了fetch ios11以下 核心原因 ios低版本兼容问题,fetch的原始响应clone一次解析后,不能再次clone(浏览器报错信息:cannot clone a disturbed response) 我们使用fetch的响应的时候,如果直接通过方法解析2次,第二次就会报错 bo…
问题: 在较低版本的android手机中发现封装的 http 无效,我测试使用的是android 4.4的老手机,主要就是无法使用promise. 解决方案 安装 npm install es6-promise --save-dev 使用 main.js 引用 import promise from 'es6-promise' 注册 ps:要在aixo之前注册 promise.polyfill() 此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处. 如果对您有帮助请动动鼠标右下方…
在 Android API 19 环境下,RadioButton 消除或者自定义自带的圆圈效果的形式来设置: 自定义自身选择图标 android:button="@drawable/selector_pickerview_btn"// 自定义自身定义图标 app:buttonCompat="@null"//低版本必须设置此属性,否则设置自定义图标无效 消除自身选择图标 android:button="@null"// 高版本消除自带图片 app:…
let.const.箭头函数在ios的某些版本不支持,会引起报错 参考:https://blog.csdn.net/cx091/article/details/79805369 https://caniuse.com/#search=es6…
拿着项目给客户测试,客户那边三个人俩人水果手机是ios8以下版本,结果导致```(恭喜,坑出现!)总不能说老总!"您把版本升级到ios9 吧!…
 meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> 忽略将页面中的数字识别为电话号码 <meta name="format-detection" content=…
最近做移动端H5页面用VUX来写UI组件这块.ios测试的时候没啥大问题,不过在4.4版本的华为手机上测试就崩了.接下来详细记述下崩的几个点. 第一:vux自带的提示框,在低版本安卓系统上全不是居中显示,都偏左: 第二:使用Action Sheet来显示性别选择模态弹出框的时候,一开始就显示,即使选择了之后也不消失: 第三:弹出层没有遮罩层: 第四:一些css3样式会设置无效: 解决办法: 只要在package.json中修改一下browserslist(见截图):…
除非开发测试用设备,自用设备不要随便升iOS beta,不要随便升iOS beta,不要随便升iOS beta. 对于升级了高版本iOS的用户,默认情况下重刷低版本iOS时,iTunes不允许向低版本还原,此时可以通过修改iTunes备份下的plist来实现. iTunes 备份文件夹,对应设备备份中的Info.plist,打开,查找到Product Version字段,将版本更改为需要刷入的版本,如9.0.2,保存,即可. P.S. 不建议跨版本更改,即从9.1改为9.0 √ ,但是9.1改为…
通过自己网站发布企业版app时,经过测试发现在部分已安装过旧版app的低版本ios手机存在这样的问题 :扫码覆盖安装新版app,安装到的仍然是就版本的app.这样就导致部分用户一直无法更新到最新版本.经排查发现是由于手机缓存导致:这里缓存主要有两部分,一是页面下载plist的资源路径,二是plist指向ipa包的下载路径: 一.发布企业应用的主要流程如下 使用企业证书打包应用ipa文件并发布到资源服务器: 生成plist文件,在文件配置汇中设置ipa文件路径,指向上一步中生成ipa文件下载路径,…
vue项目在安卓低版本机显示空白原因: 可能的原因一: 查看安卓debug,报错,可能有箭头函数语法错误,或者其他语法问题,那可能是ES6语法问题. 这时候需要安装babel-pollyfill. 网上找到方法如下: https://blog.csdn.net/anxin_wang/article/details/78873359 1.安装babel-polyfill和es6-promise npm i babel-polyfill --save npm i es6-promise --save…
昨天,在医院现场的客服人员,向我们反馈一个问题:说一位用户用他的安卓手机打开我们的app之后,界面是乱掉的:如下图: 向客服询问了具体的设备信息:安卓系统版本号是4.2 下意识觉得是因为css的兼容问题,因为之前遇到过太多类似问题了. 因为现在css3大行其道,像 flex,transform,transition,animation等属性都有广泛的应用,当然这些css3也支持当下的主流设备及系统. 但是因为我们的app目标用户比较广泛,很多用户是老年用户,使用比较低版本的系统,这些属性就可能在…
低版本的安卓手机可能会白屏,是由新特性不支持引起的 解决代码es6新特性兼容问题 1,npm 安装 npm install babel-polyfill npm install es6-promise 2,main.js 引入  import 'babel-polyfill' import Es6Promise from 'es6-promise' require('es6-promise').polyfill() Es6Promise.polyfill() 3.webpack.base.con…
工作中会遇到低版本安卓设备调用setTimeout不生效,既不会报错,里面的函数也不会执行,这里po一个解决办法,如果不执行则执行安卓自己封装的原生的setTimeout方法:sdk.setTimeout. 注明:此方法为我们老大所写,放在这里惠存一下. 基本方案/*******/ (function(window){ Promise.race([ new Promise((resolve)=>{ window.setTimeout(()=>{ resolve(window.setTimeou…
为尊重文章原作者,转载务必注明原文地址:http://www.cnblogs.com/wt616/p/3784717.html 先看效果图: 在自定义导航栏背景时,可能会遇到以下一些问题: 1.当设置导航栏背景后,状态栏的颜色也会跟着一起改变掉,这可能不是你说希望看到的 2.IOS7以上的版本和低版本显示出来的导航栏高度位置有差别,这个差别就是状态栏的高度20,为了兼容低版本,必须统一 解决思路: 1.不正常的是状态栏的背景也一起变了,而状态栏的文字是可以通过其他API去设置的:如 [[UIAp…
现在的项目一般都要兼容iOS7系统,同时也要兼容iOS10,在Xcode8上面,默认情况下无法调试iOS7,因为缺乏调试iOS7需要的配置文件.同时在低版本的Xcode上面(8以下),也无法调试iOS10的真机.解决办法如下: 我们在升级Xcode8之前,可以先将调试需要的配置文件拷贝出来,方法finder中前往文件夹/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport进入,将里面…
我们使用Xcode8新建的工程,默认支持的最低系统是iOS8,我们可以手动更改版本到7.0,但是不支持真机调试. 现在的项目一般都要兼容iOS7系统,同时也要兼容iOS10,在Xcode8上面,默认情况下无法调试iOS7,因为缺乏调试iOS7需要的配置文件.同时在低版本的Xcode上面(8以下),也无法调试iOS10的真机.解决办法如下: 我们在升级Xcode8之前,可以先将调试需要的配置文件拷贝出来,方法finder中前往文件夹 /Applications/Xcode.app/Contents…
viewDidUnload在ios6开始被弃用了,所以我们在这里处理内存警告的这类问题,这个时候我们就要把相应的处理放在 didReceiveMemoryWarning中. - (void)didReceiveMemoryWarning  {     [super didReceiveMemoryWarning];     sortedNames = nil; sortedValues = nil; } 但是如果我们新老版本都要支持的话,那么还需要再加些东西进去. - (void)didRece…
<script type="text/javascript"> document.addEventListener('plusready', function(){ var page = plus.webview.create("http://www.baidu.com/","main",{ width:'100%', height:'100%', left: '0px', right: '0px', top: '0px', bott…
一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也.到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂.接下来数一下踩过的坑.主要分UI展示,键盘,输入框等等.解决bug最苦恼的问题不是没有解决方案,而是你没有找到真正的原因.再就是现象难以重现,每次都要发布代码,然后到手机app中去测试,模拟.这些地方会耗费大量的精力. 一.UI相关 1.安卓4.4以下不支持fixed布局. fixed布局的作用之一就是在手机键盘弹起…
iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨率 PPI 状态栏高度 导航栏高度 标签栏高度 iPhone6 plus设计版 1242×2208 px 401PPI 60px 132px 146px iPhone6 plus放大版 1125×2001 px 401PPI 54px 132px 146px iPhone6 plus物理版 1080…
ViewAnimationUtils.createCircularReveal()的简介: ViewAnimationUtils.createCircularReveal()是安卓5.0才引入的,快速实现圆形缩放动画的api,效果如下图所示: 如果要在你的程序中使用它,必须要设置最低的 api 版本是 21,往下版本的,在运行程序的时候就会抛出 .createCircularReveal() not found 异常.其源码如下: public static Animator createCir…
Bug描述: 使用低版本安卓(<5.2),在微信上打开网页,点击下拉框,会出现如下图所示的用来展示select选项的弹出框: 在选项较少的时候,可以向下滑动,将选项滑到底部 滑动前: 滑动后: 期望达到的效果: 解决方案: 判断是否是微信环境: function isWeixinBrowser(){ return /micromessenger/.test(navigator.userAgent.toLowerCase()); } 判断安卓版号: var userAgent = navigato…
摘要 简单场景描述:将html5开发的app内嵌入ios app中,有部分数据,需要在本地存储,就想到使用浏览器的localstorage或者indexeddb,另外localstorage存储的方式是key,value的方式,并且value是字符串类型的,一般会将json字符串的方式保存,但用起来不太方便,在使用的时候需要转换为json对象.indexeddb存储的是文档类型,类似于mongodb的document.操作更方便.但对低版本的兼容性不太好. 解决办法 http://git.osc…
Xcode 5.0 默认的编译环境是iOS7,编译出来的app,安装到iOS7.0版本以上的手机上,会表现出iOS7.0的风格.兼容不太好的应用,布局上可能会因此乱八七糟. 如果还不想让app升级到iOS7.0,以保持iOS6.1或以下版本的风格,那么可以这样: 下载好iOS6.1 SDK(或其他非iOS7.0 SDK,如果找不到下载路径,可以从之前的低版本的Xcode中拷贝出来),复制到Xcode 5.0目录下,具体路径为: “Xcode.app/Contents/Developer/Plat…
首先是这样,在对接安卓和IOS或者是第三方调用的接口,我需要在服务端返回一个带.html/.aspx这样后缀的接口. 例子如下图:http://localhost:64131/api/UsersInfo/GetAllUsersInfo.html 当然,我们用的肯定是webapi 来做这件事情.不需要建aspx/html/do/shtml...这样的文件,只需要配置一下路由就可以了. 首先要打开:WebApiConfig 这个配置文件.需要将 routeTemplate: "api/{contro…
一.通过用户代理可以判断网页当前所在的环境 var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE presto: u.indexOf('Presto') > -1, //opera webKit: u.indexOf('AppleWebKit') > -1, /…
Android 版本更替,新的版本带来新的特性,新的方法. 新的方法带来许多便利,但无法在低版本系统上运行,如果兼容性处理不恰当,APP在低版本系统上,运行时将会crash. 本文以一个具体的例子说明如何在使用高API level的方法时处理好兼容性问题. 例子:根据给出路径,获取此路径所在分区的总空间大小. 在安卓中的文件存储使用参考中提到: 获取文件系统用量情况,在API level 9及其以上的系统,可直接调用File对象的相关方法,以下需自行计算 一般实现 就此需求而言,API leve…
随着苹果系统的更新和迭代,现在app开发中需要适配的除了需要适配屏幕尺寸以外,还需要适配系统版本.系统版本测试如果有条件可以使用各种系统版本的真机进行适配,如果没有这个条件,也可以采用xcode的模拟器下载低版本的模拟器来完成适配.然而,在xcode中自己去下载模拟器,速度缓慢,而且经常出现下载失败,超时等问题.这里提供一种方法来解决xocde下载低版本模拟器速度缓慢的问题: 在 Mac 下, 打开 Xcode, 进入 Preference 中的 Downloads 面板 点击任意的下载按钮 打…
CCMobile与安卓.IOS集成过程中的问题与解决方案 前言: CCMobile(2019版本)是CCFlow&JFlow 的一款移动端审批的产品.系统基于mui框架开发,是一款可以兼容Android与IOS的移动端工作流审批系统.由于CCMobile仅仅局限于移动端的流程审批,所以在其他办公功能方面很少,这时可能就需要在源码上开发或者与其他APP进行集成. 由于Mui是一款h5的框架,并不是原生的,所以在与原生APP集成时,会出现一些问题,主要集中在附件上传下载.屏幕兼容等.本文章,将具体描…