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 。
IE6、IE7、IE8的CSS、JS兼容的更多相关文章
- 针对firefox ie6 ie7 ie8的css样式中的line-height属性
针对firefox ie6 ie7 ie8的css样式中的line-height属性 以前我们大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7以上对! ...
- IE5,IE6,IE7,IE8的css兼容性列表[转自MSDN]
CSS 2.1: IE 5.0 IE 5.5 IE 6.0 IE 7.0 IE8 Beta 1 IE8 Beta 2 IE 8.0 @charset No Yes Yes Yes Yes Yes ...
- IE6,IE7,IE8下报JS错误:expected identifier, string or number的原因及解决的方法
今天在调试一个页面的时候遇到一个问题,在IE9下执行得非常好的脚本,在IE8里打开的时候弹出错误:expected identifier, string or number,依照经验,应该是定义对象的 ...
- ie6,ie7,ie8 css bug兼容解决记录
ie6,ie7,ie8 css bug兼容解决记录 转载自:ie6,ie7,ie8 css bug兼容解决记录 - 前端开发 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面 ...
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10 http://www.jb51.net/css/383986.html
在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案百度也应用了这种方案去解决IE的兼容问题 百度源代码如下 复制代码 代码如下: <!Do ...
- IE6/IE7/IE8/Firefox/Chrome/Safari的CSS hack兼容一览表
浏览器兼容问题一直是前段开发工程师比较头痛的问题,熟悉了里面的规则也就变得简单了,这里有一份资料可以分享给大家,大家平时开发过程中遵循这个规律的话,会变得轻松多了: 各浏览器CSS hack兼容表: ...
- 兼容IE6/IE7/IE8/FireFox的css hack
兼容IE6/IE7/IE8/FireFox的css hack .color{ background-color: #CC00FF; background-color: #FF00009; *backg ...
- DIV+CSS IE6/IE7/IE8/FF兼容问题汇总
1.IE8下兼容问题,这个最好处理,转化成ie7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-comp ...
- CSS兼容IE6 IE7 IE8 IE9 Firefox的总结
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 最新区分兼容IE6/IE7/IE8/IE9/FF的CSS HACK写法和Css if hack条件语法操作说明
自从安装了IE8.0正式版本!木头 就对基本的几个 CSS HACK的做一下归纳!希望对网页前端布局DIV+CSS的实施者有所帮助! 本文就主要以:IE6+IE7+IE8+IE9+FF为主要研究对象 ...
随机推荐
- [No000065]python 获取当前时间
要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间.用下面的方式来取得当前时间的时间戳: import time print(time.time()) 输出的结果是 ...
- [No000031]操作系统 Operating Systems 之Open the OS!
从打开电源开始… 这神秘的黑色背后发生着什么?… 打开电源,计算机执行的第一句指令什么? 计算模型(图灵机) ⇒ 我们要 关注 指针IP 及其 指向的内容 看看x86 PC (1) 刚开机时CPU 处 ...
- MySQL数据库的优化(下)MySQL数据库的高可用架构方案
MySQL数据库的优化(下)MySQL数据库的高可用架构方案 2011-03-09 08:53 抚琴煮酒 51CTO 字号:T | T 在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQ ...
- CLR Table-Valued函数
这几天来,努力学习了CLR的存储过程,创建与部署.从普通的存储过程,带参数,以及Output返回值等. Insus.NET今天学习一个例子,怎样实现CLR Table-Valued函数.在数据库中,我 ...
- nfs客户端报错解决Stale file handle
NFS故障: 场景:客户端挂载是好的.服务端磁盘满了,重新给挂了一快.客户端df -h nfs挂载消失. 客户端报错:Stale file handle 现象如下: [root@test63-spri ...
- 网络/运维工程师visio2013模具图标 绘制漂亮的网络拓扑图 狮子XL工程师美学思想
visio2013狮子XL自定义运维模具下载: 链接:http://pan.baidu.com/s/1bo779Kz 密码:xh3s 狮子XL 的美学思想: 1,一次痛苦,一生幸福. 之前,在绘制网络 ...
- Android智能指针sp wp详解
研究Android的时候,经常会遇到sp.wp的东西,网上一搜,原来是android封装了c++中对象回收机制.说明:1. 如果一个类想使用智能指针,那么必须满足下面两个条件: a. 该类是虚基 ...
- scala + intellij idea 环境搭建及编译、打包
大数据生态圈中风头正旺的Spark项目完全是采用Scala语言开发的,不懂Scala的话,基本上就没法玩下去了.Scala与Java编译后的class均可以运行于JVM之上,就好象.NET中F#与C# ...
- C/C++实践笔记 003
数据结构与算法程序=数据结构+算法语言是一种工具语言工具(c,c++)--程序设计方法(面向过程.面向对象)——数据结构(二叉树.队列.栈.红黑树.链表……)——算法(快速排序算法.冒泡排序算法.选择 ...
- 页面跳转Transfer与Redirect的区别你知道吗?
一 前言 关于页面跳转的方式常用的应该就是,链接跳转,js跳转,Server.Tranfser和Response.Redirect 这几种,可是在Tranfser与Redirect之间用哪种更好(本文 ...