IE,谷歌浏览器的兼容性问题总结

1.时间转换兼容问题

var oldtime = (new Date(this.props.data.create_time)).getTime()/1000;

var nowtime = Date.parse(new Date())/1000;


这个时间转化在谷歌,火狐浏览器中能正确的获取到正确的数据。但是在IE浏览器却出现了问题。 打出的时间却是NAN。

NaN类型指的是一种特殊的number(但是NaN与任何值都不相等与自己都不相等)


设置断点后,发现问题的原因,在于解析的过程无法解析这种2017-1-7 01-15-15年月日的格式。主要原因在与无法读取“-”,所以只能读取2017/1/7 01/15/15  所以把日期格式转位/的方式就能正确获取这种日期了。


var oldtime = new Date(Date.parse(this.props.data.create_time.replace(/-/g,"/"))).getTime()/1000;  
var nowtime = Date.parse(new Date())/1000;


 2.Scrolltop兼容问题

最近做微信商品管理,在二期优化里面提出了。需要将醒目的商品数目,商品消耗总额一直显示在标题栏上。

 

然后就开始考虑标题栏和上边界接触的时候,把格式转化为position : fixed格式

通过该方法检验滚动事件的发生。 

document.body.scrollTop能够获取到谷歌滚动条的位置,但是IE通过该方法只能获取到0px.

document.documentElement.scrollTop通过该方法就能让IE也能获取到滚动条的位置。

$(window).scroll(function() {
if ((($("#panel-body").offset().top - Math.max(document.body.scrollTop,document.documentElement.scrollTop)) <= 0) && (that.state.main_status == 1 || that.state.main_status == 2)) {
}
    });

 


你可能感兴趣的:(Web前端)