IE6、IE7、IE8浏览器下的CSS、JS兼容性怎么样?3种对比分析

原因是如果js脚本同时创建大量变量,jscript引擎执行垃圾收集算法时会监视脚本中变量分配的数量、脚本中使用的文字值的数量和脚本中分配的字符串值的总大小,如果超过这些值的阈值,就会发生垃圾收集,垃圾收集进程会中断正在运行的脚本 。因此,这些运行中的脚本将被挂起,直至垃圾收集完成为止 。
IE6 、 IE7 、 IE8 在 CSS 和 JS 方面的区别 :
1、IE8中的css中关于width或是height中如果使用像素形式作为参数时,参数必须是带“px”的,而且此参数必须是大于0的,而在IE6和IE7中是支持不带“px”参数的,而且参数是可以为一个负数 。
2、如:style=height:180px0;只有IE8能识别,style=height:180px9,IE都能识别 。
【IE6、IE7、IE8浏览器下的CSS、JS兼容性怎么样?3种对比分析】2、IE8中的css中“border-style:outset ;”是没有效果的 。
3、IE8中的无序列表之间的距离要比IE6和IE7大的多 。
4、IE6能识别*,但不能识别!important,IE7能识别*也能识别!important 。
5、IE6支持下划线,IE7不支持下划线 。
6、在IE8中,一个Iframe中取event.x的值不是Iframe中的相对x坐标,而是最外层的window的x坐标,但是event.y却是取的是 Iframe中的相对y坐标 。而在IE6和IE7中,event.x和event.y却得的都是所在Iframe中的相对坐标,可以用 event.clinetX代替 。
7、IE8中的javascript中的function对象例如:
function a(){alert(“helloworld”);}
var fun = new function(‘’,’helloworld’);
alert(fun);
此时返回的值为function anonymous(){function a(){alert(“helloworld”)}}, 而在IE6和IE7中返回的值为function anonymous(){alert("helloworld")},也就是说当Function的第二个参数如果是一个函数时,IE8对此参数作用的是整个函数的代码,而IE6和IE7则是对此参数起作用的是函数的内部代码(不包括 “function a(){”和“}”的函数头和尾) 。
8、在ie6中,使用window.status =" 欢迎光临我的博客!!!",就能在状态栏显示这么一行字,但在IE7中,IE7的安全性设置中,默认是不允许脚本更新状态栏的.
9、IE8会把对 IE6,7,8 用 css 进行测试:
测试代码:样式代码: p {color:#f00;} xhtml 代码:
文字

IE6、IE7、IE8浏览器下的CSS、JS兼容性怎么样?3种对比分析

文章插图
对于 IE8 对 js 新增的功能 :
1、 IE8开始支持一些新的W3C规格,其中多了querySelector和querySelectorAll两个函数
2、 IE8 引入XDomainRequest跨站数据获取功能 。这是一个非常有趣的进行跨站数据获取的功能,不过它与Firefox 3中的跨站 XMLHttpRequest的工作原理不太一样 。它的跨域并不是无限制的 。需要服务端返回http header中带有XDomainRequestAllowed=1才可以跨域,否则是不成功的 。XMLRequest 不能跨站一直都是多子域服务器的硬伤 。使得很多情况不得不考虑最原始的动态script和JSON的方式 。不过IE8团队有意解决跨站访问数据的问题,这是IE8的一个进步 。另外,IE8下的XMLHttpRequest增加了一个很重要的属性 timeout和ontimeout方法,它在对程序进行优化时极其重要 。
3、 getElementById可以通过id来返回对象 。getAttribute("checked") 现在返回“checked”而不是true 。动态创建(或修改)的单选按钮现在可以被选择了 。
支持更多对HTML5的功能:
1、 window.location.hash 。这个功能已经被多数浏览器支持的非常好 。在IE8标准模式中将window.location.hash中的更改作为导航,并保存先前文档的URL,可以像在Ajax应用中模仿“后退”按钮效果 。IE8中对它进行了改良,可以广播这个hashchanged时间 。
2、 DOM存储 。通过这个功能,数据可以持续保存在本地,它将取代原始的cookie存DOM存储 。

推荐阅读