Fdream's Blog
专注于WEB前端开发
Powered by Google

IE8标准模式不再支持CSS表达式(Expression)

22 多云 2008-10
Fdream 发表于 Ajax Web, 已被阅读 1568 次, 评论 2 条
关键词:CSS IE
[ 阅读字体大小: ]

IE8标准模式不再支持CSS表达式(Expression)

原文地址:Ending Expressions

标准遵守情况、性能、可靠性和安全性等设计标准构成了IE8的设计整体,包括新的和已经存在功能特性。最终,IE8的标准模式不再支持CSS表达式(CSS Expression)。这个变化在以前就曾经在IE blog上公布过,这篇文章将提供关于这个决定的更详细的一些信息。下面的FAQ(常见问题)将给您一个快速的总览:包括它的功能特性、我们设计决定的背后原因以及这对你的网站有什么影响。

什么是CSS表达式?

它也被称为“动态属性”,这个特有的CSS扩展是在IE5中引入的。远远在jQuery和Dojo等JavaScript库的诞生之前,它允许web开发者动态地通过CSS选择器来给页面绑定脚本。举一个例子,下面的CSS声明根据一天中的事件来更新页面中某些区块的背景颜色:

参考代码: [复制代码] [保存代码]

div.title { background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" ); }

为什么不再支持CSS表达式?

  • 为了遵循标准

  • 表达式是Internet Explorer专有的,而且不能通用
  • 一个常见的用例是用表达式来修正IE的bug或者来模仿浏览器暂时不支持的CSS 2.1的一些功能,例如最小宽度(min-width)和最大宽度(max-width)。我们不仅非常努力地在IE8中修正了这些bug,而且我们的新的布局引擎也原生支持这些曾经没有的特性。

  • 为了改进性能

  • 为了减小浏览器攻击面

  • 因为它们暴露了一个脚本执行环境,CSS表达式就构成了一个可能的脚本注入攻击方向。

IE7和兼容模式还支持表达式吗?

是的,还支持。为了向后兼容,CSS表达式在兼容模式和IE7严格模式下仍然可以执行。不过从IE8 Beta 2开始,它们就被IE8的标准模式忽略了。

我的网站上的页面使用了CSS表达式,这会对我带来什么影响?

由于有了IE8的新的布局引擎,大部分用来修正CSS 2.1的bug和缺点的表达式都不再需要了;我们期望不支持或者不标准的解释属性能够以一种标准的、可通用的方式来工作。因为那些表达式支持更多特定的目的,他们所做的事情本身是可以通过标准的JavaScript来达到的,通常是通用的而且可以以较低的成本运行。具体细节取决于你的应用程序。根据你在这篇日志的反馈,我们可能在以后的部分访问一些例子。

终止支持表达式——一个通常用来修复极端问题的功能,我们已经非常努力的工作以在这个版本中解决——将会使得IE8更标准、更快速以及对我们的用户来说更安全。

Sylvain Galineau

项目经理

Related articles 您可能对这些文章也感兴趣:
Related comments 与该文相关的评论:(我也想说几句)
引用这个评论  34234 于 12/24/2008 2:31:45 PM 发表评论: 

rtdfdsgd<a>adfdas</a>

rtdfdsgd<a>adfdas</a>
Add a comment 我来说两句: 
禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
表  情
arrow
用户名:   密码:  (匿名可不写) 同时注册?
验证码:   看不清?换个图片  看不清楚?换个图片

 
Copyright © 2005-2008,Fdream All Rights Reserved
Processed in 0.093762 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号