做一个web项目,无论如何最终都要去做浏览器兼容的问题,而对于浏览器兼容来说,IE又是一个不能够绕过的拦路虎。虽然现在大多数的人不使用电脑自带的IE浏览器,但现在很多浏览器如搜狗浏览器,360浏览器等等都是双核浏览器,一个是chrome核心,另一个是IE核心。所以说很多统计上边显示IE有很多人使用,其实只是说很多人使用IE内核的浏览器。但是不管如何,对于浏览器的兼容还是要做的。这就涉及到了cssHack这么一个知识。什么是cssHack,想必大家网上一搜就会有大量的博客,文章讲述。这里有一篇文章,讲述的还是比较详细的:CSDN freshlover的博客专栏《史上最全CSS Hack方式一览》。我今天说的不是cssHack,而是在浏览器兼容中遇到的一些问题,以及我是如何解决了。
第一个问题:Date的getTime()方法在除了chrome浏览器中返回NaN。场景如下,传入一个时间,然后显示这个时间与当前时间的间隔。
//返回距离现在的时间间隔
function getStance(time){
var Stance={'day':0,'hour':0,'minute':0};
var nowDate=new Date().getTime();
//var startTime=new Date(time).getTime();
var startTime= new Date(Date.parse(time.replace(/-/g,"/"))).getTime();
var diff=startTime-nowDate;
if(diff <= 0){
return Stance;
}
var minute=60*1000;
var hour=60*minute;
var day=hour*24;
Stance.day=parseInt(diff/day);
Stance.hour=parseInt((diff-Stance.day*day)/hour);
Stance.minute=parseInt((diff-Stance.day*day-Stance.hour*hour)/minute);
return Stance;
}
原因:主要的变化是对默认的日期格式进行了转换, 基于'/'格式的日期字符串,才是被各个浏览器所广泛支持的,‘-’连接的日期字符串,则是只在chrome下可以正常工作。
先这样,其他问题以后再写。欢迎大家探讨,指正