转载
http://www.never-online.net/blog/article.asp?id=246
说实话,对于移除这个旧有功能对于我来说,我是欢心鼓舞的。
因为我在开发和应用当中一向不用expression来处理,虽然它确实是非常方便,比如,一句话就可以大概的解决position:fixed的问题。可以不用把此问题带到真正的逻辑上去。
我有点象站着说话不腰疼的样子。那么我们来列一下CSS expression的问题。
1、效率低。这个是众所周知的问题。
2、不标准。expression是个IE only的产品,在w3c的大潮中,他已经渐渐被人遗忘了。
3、不安全。假设某个站点要开放CSS给用户编辑,那么这个expression/CSS里可以让脚本运行的bug让人头疼不已。比如(请用IE 6运行):
<!doctype html public '-//w3c//dtd html 4.01//en' 'http://www.w3.org/tr/html4/strict.dtd'>
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=utf-8">
<title>ie css javascript</title>
<style>
body{
font-family:
"Tahoma"
d = new Date
document.body.insertAdjacentHTML('AfterBegin', '<h2 class="hack">Embedding Javascript int5o CSS on IE6 on ' + d + ' </h2>' )
alert('done')
;
/*Some funny ASI Craracters here*/
($_$)&(%_%)^(@__*)/~~>BaCkGrOuNd-ImAgE:url(\ja\vasc\ri\pt:(Function(document.body.currentStyle.fontFamily))());
}
.hack{
background:red;
padding:12px;
border:double 4px yellow;
color:#fff;
font-family:"Arial Black";
}
</style>
</head>
<body>
</body>
</html>
有人欢喜有人忧,对于以前用expression的同学来说,得重新改代码了。不过这从另一方面来说也是好事,可以更好的促进标准的执行。
http://www.never-online.net/blog/article.asp?id=246
说实话,对于移除这个旧有功能对于我来说,我是欢心鼓舞的。
因为我在开发和应用当中一向不用expression来处理,虽然它确实是非常方便,比如,一句话就可以大概的解决position:fixed的问题。可以不用把此问题带到真正的逻辑上去。
我有点象站着说话不腰疼的样子。那么我们来列一下CSS expression的问题。
1、效率低。这个是众所周知的问题。
2、不标准。expression是个IE only的产品,在w3c的大潮中,他已经渐渐被人遗忘了。
3、不安全。假设某个站点要开放CSS给用户编辑,那么这个expression/CSS里可以让脚本运行的bug让人头疼不已。比如(请用IE 6运行):
<!doctype html public '-//w3c//dtd html 4.01//en' 'http://www.w3.org/tr/html4/strict.dtd'>
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=utf-8">
<title>ie css javascript</title>
<style>
body{
font-family:
"Tahoma"
d = new Date
document.body.insertAdjacentHTML('AfterBegin', '<h2 class="hack">Embedding Javascript int5o CSS on IE6 on ' + d + ' </h2>' )
alert('done')
;
/*Some funny ASI Craracters here*/
($_$)&(%_%)^(@__*)/~~>BaCkGrOuNd-ImAgE:url(\ja\vasc\ri\pt:(Function(document.body.currentStyle.fontFamily))());
}
.hack{
background:red;
padding:12px;
border:double 4px yellow;
color:#fff;
font-family:"Arial Black";
}
</style>
</head>
<body>
</body>
</html>
有人欢喜有人忧,对于以前用expression的同学来说,得重新改代码了。不过这从另一方面来说也是好事,可以更好的促进标准的执行。