项目总结

有几个兼容性问题,解决了但还不知其所以然,先记录在这里:

1、高分辨率屏幕显示网页(中间内容设置了margin: 0 auto)不居中,而靠左。

     环境:页面为上下(top、bottom、footer)结构

     分析:bottom设置了{overflow: auto;},去掉后恢复正常(核心是{overflow-y: auto;})

     解决:为了保证自适应高度,overflow属性不能删除,后来发现将top相应居中内容也设置{overflow:auto;}解决。

  原因:?

2、Date对象IE生成有误 -- Fin

     原因:原生的Date对象是不支持(new Date(XXXX-XX-XX))创建Date的,但是现在很多高级浏览器实现了,IE8、7(只测了这两个版本)的Date创建必须使用另外的方法来实现,可参考开源的代码实现http://jibbering.com/faq/#parseDate(不晓得这是神马组织做的,tks)

3、AmCharts使用IE怪现象

     描述:页面上用了amcharts的一个饼图和一个折线图,FF和Chrome都工作正常,IE本地也工作正常,但放在开发环境代码中就done了,Ctrl+F5刷的手指麻偶尔能出来一哈,又没得了......虽然我是一个懒人,但我为了工作还是去调AmCharts的代码了,发现它的工作流程是这样的:IE下绑定了onload事件,页面load好后找Amcharts.onReadyArray里面存放的需要加载的图表(charts),运行之,那些调用过Amcharts.ready()的图表之前只是放在onReadyArray数组里,这边网页load好了才会执行。哼哼,这可好了,我的代码执行Amcharts.ready()的时候人家页面早load好了,结果IE就不执行了..........其它浏览器也是一样的load好再调用的ready就执行,IE这娃真是不走寻常路。继续找原因,看看高级浏览器的load和IE的onload有啥区别。Amcharts还有一个特点就是IE下直接跑多个图表是报错的,所以我最后就还是统一先ready,然后最后一个chart执行ready后判断是IE(AmCharts本身有公共属性isIE已经判断了是不是IE)的话手动Amcharts.handleLoad()一下,就ok了。

4、IE下某个元素隐藏后影响到其它元素的渲染

  描述:大概代码如下

<div id="load" class="load" style="height: 150px; display: none;"></div>
<ul id="switch"><li></li><li></li><li></li></ul>
<div id="list">
      <ul><li></li>....</ul>
      <ul><li></li>....</ul>
      <ul><li></li>....</ul>
</div>

    在页面加载时load显示,switch和list都隐藏,load完成,load隐藏,switch和list显示,结果list下第一个ul内容换行,但几个ul切  换一下又好了。

posted @ 2013-05-17 09:40  screepinail  阅读(563)  评论(0编辑  收藏  举报