你目前正处于脱机状态,正在等待 Internet 重新连接

安装 MS04-038 安全更新后,如果将事件处理程序设置为直接引用 DOM 函数,则 Internet Explorer 不执行代码

概要
安全更新 834707 中包含了一项对 Internet Explorer 处理函数指针方式所做的更改。当事件处理程序直接指向一个文档对象模型 (DOM) 函数时,就会发生此功能更改。本文描述了这个问题,并提供了几种替代方法。
症状
如果将一个事件处理程序直接设置为指向一个 DOM 函数,则 Microsoft Internet Explorer 不执行与该事件处理程序相关联的客户端代码。
原因
MS04-038 安全更新中包含了一项对 Internet Explorer 处理函数指针方式所做的更改。当事件处理程序直接指向一个 DOM 函数时,就会发生此功能更改。
on<event> = DOM function pointer
替代方法
要避免 Internet Explorer 的功能发生这一更改,请使用下面的方法之一:
  • 使用 JavaScript 来直接调用该函数:

    原始代码:
    <A href=# onclick=window.close>Close this window</A>
    修复后的代码:
    <A href=# onclick="window.close()">Close this window</A>
  • 将函数指针存储在一个变量中,并定义另一个函数来调用该变量。 下面的示例使用 onlick 事件关闭窗口:

    原始代码:
    <A href=# onclick=window.close>Close this window</A>
    修复后的代码:
    <script>var my_funcptr = window.close;function FunctionPointerInvoker(){    my_funcptr();}</script><A href=# onclick="FunctionPointerInvoker()">Close this window</A>
状态
这种现象是设计导致的。
参考
有关 MS04-038 安全更新的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
834707MS04-038:Internet Explorer 累积安全更新
属性

文章 ID:887741 - 上次审阅时间:12/20/2004 10:05:00 - 修订版本: 2.0

Microsoft Internet Explorer 5.01, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer (Programming) 6.0

  • kbtshoot kbprb KB887741
反馈