1.new Date()
1) 首先new Date() 返回的时间与其他安卓,pc返回的时间是有差异的 在ios上返回的时间是当天时间的8点整,而
安卓pc返回的时间是当天的0点;解决方案就是判断所处系统,根据系统返回统一时间
2)new Date()传入时间参数 如new Date('2017-09-11')都能返回出时间对象;当然返回的时间如第一条
但是再详细点的时间如new Date('2017-11-23 09:00:00')这个方法在ios则会报错返回nolivid date;而在安卓 pc上返回没有问题
解决方案:使用new Date('2017/11/23 09:00:00')格式能完美兼容pc 安卓 ios 各个系统。
3)由于开发代码的差异,某些项目会莫名出现浏览器自带返回键返回的页面不重载,导致需要重载的页面显示有误,在安卓上和ios上有差异。
解决方案:
$(function () {
var isPageHide = false;
window.addEventListener('pageshow', function () {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide', function () {
isPageHide = true;
});
});
添加上面一段jquery代码即可解决。
4)在ios上和android上 fixed定位和absolute定位在底端时,在手机上弹出软键盘显示效果会有差异:
ios:定位的结构不会跟着软键盘弹出 android:则相反,会跟着软键盘弹出 这样就会造成可能会挡住输入框。造成用户体验不好。
解决方案:
<body>
<input type="text" name="" id="" value="" placeholder="写点什么" />
<div style="position: absolute;height: 100px;width: 100%; background: red;bottom: 0; left: 0;" id="layer"></div>
</body>
var h = (function(){
return document.body.clientHeight;
})()
var layer = document.getElementById("layer");
window.onresize = function(){
if(document.body.clientHeight != h) {
layer.style.display = 'none';
}
else {
layer.style.display = 'block';
}
}
思路主要是在软键盘弹出式,屏幕高度会有变化,从而可以达到自己想要的效果