-3
<div style="width:expression(alert('1'));"></div>

如果您在 IE7 中运行此代码,它将执行两次。为什么?

4

1 回答 1

1

不要使用表达式。表达式解析引擎会经常重新计算它们,以实现最小的上下文变化,包括鼠标移动、每个元素焦点的变化等,从而引入疯狂的开销。对于发生这种情况的每个点也没有明确的文档,因此您通常无法提前计划比基本计算稍微复杂的任何事情。最后,微软将它们标记为已弃用,因此它们甚至无法在未来的 IE 版本中运行。

于 2012-04-19T11:54:07.427 回答