开发者社区> 嗯哼9925> 正文

IE6、IE7、IE8的CSS、JS兼容

简介:
+关注继续查看

Internet Explorer 6中查看使用 Microsoft JScript 的网页,可能会遇到web浏览器速度较慢的性能问题。原因是如果js脚本同时创建大量变量,jscript引擎执行垃圾收集算法时会监视脚本中变量分配的数量、脚本中使用的文字值的数量和脚本中分配的字符串值的总大小,如果超过这些值的阈值,就会发生垃圾收集,垃圾收集进程会中断正在运行的脚本。因此,这些运行中的脚本将被挂起,直至垃圾收集完成为止。

IE6  IE7  IE8  CSS  JS 方面的区别 :

1、IE8中的css中关于width或是height中如果使用像素形式作为参数时,参数必须是带“px”的,而且此参数必须是大于0的,而在IE6和IE7中是支持不带“px”参数的,而且参数是可以为一个负数。

2、如:style=height:180px\\0;只有IE8能识别,style=height:180px\\9,IE都能识别。

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

备注

p{_color:red}

×

×

IE6 专用

*html   p{color:#red;}

×

×

IE6 专用

p{+color:red}

×

IE6,7 专用

p{*color:red}

×

IE6,7 专用

*html   p{color:red;}

×

IE6,7 专用

p{*+color: red}

×

×

IE7 专用

Body> p{ color: red }

×

屏蔽 IE6

/*\\*//*/p{+color:red}/**/

×

×

IE8 专用

p{/*/*/color;/**/}

×

屏蔽 IE8

p{color:red!important}

p{color:red}

都能用

html>/**/body .head{color:#red;}

×

×

只对 IE8

 

对于 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存储。

3、 postMessage。IE8现在支持跨文件消息通讯(Cross-Document Messaging-XDM)!通过onmessage事件和postMessage方法,两个来自不同域的网页可以进行通讯。目前IE8、Opera 9、Firefox 3和WebKit nightlies版均支持这个功能,也就是说,该功能几乎已被所有最新浏览器支持。

4、 Offline Events。在IE 8中拥有一些离线事件来检测网络的中断,通过它我们可以编写精彩的离线Ajax应用。目前来看支持这一功能的浏览器包括Firefox3和IE8。

用firefox或者chrome一登陆最小系统就报480分钟超时错误

IE6 Bugs

1 、不支持用样式设置 <abbr> 元素

2 、不支持以连字符和下划线开头的 class  ID 

3  <select> 元素总是出现在堆叠最上面,而无视 z-index 

4 、如果锚点的伪类没有使用正确的顺序 ( :link :visited :hover ) :hover 伪类将无效

5 、一个属性的 !important 声明会被同一规则中同一属性的没有使用 !important 的第二个声明覆盖。

6、         height 表现类似于 min-height  width 表现类似于 min-width ,左右 margin 双倍

7、         圆点边框 (dotted) 看起来像虚线边框 (dashed)

8、         text-decoration  line-through 值在文字上看起来比别的浏览器要高一些

9 、有序列表如果有一个固定结构 (haslayout  true ,不能设置 li 的高度 / 宽度 /zoom 等激活 haslayout 的值 ) ,序号就不会增加,而是保持为 1

10、      列表元素不支持 list-style-type 的所有可用的值

11、      如果列表条目浮动,指定的 list-style-image 将不会显示

12、      不完全支持 @font-face

13、      某些选择器会错误的匹配注释和文档声明

14、      如果一个 ID 选择器结合一个类选择器不匹配,同样的 ID 选择器结合不同的类选择器也将被当作不匹配。

IE7 bugs

1  有序列表如果有一个固定结构 (haslayout  true ,不能设置 li 的高度 / 宽度 /zoom 等激活 haslayout 的值 ) ,序号就不会增加,而是保持为 1

2、         列表元素不支持 list-style-type 的所有可用的值

3 、如果列表条目浮动,指定的 list-style-image 将不会显示

4 、不完全支持 @font-face

5 、某些选择器会错误的匹配注释和文档声明

IE8 新增的 javascript 函数:可参考 http://blog.csdn.net/WinGeek/archive/2009/02/26/3937909.aspx 






本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/archive/2011/01/13/1934373.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
13373 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18617 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
18519 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
12392 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
8928 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
16957 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14579 0
+关注
4716
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载