現在オフラインです。再接続するためにインターネットの接続を待っています

MS04-038 のセキュリティ更新プログラムをインストールすると、直接 DOM 関数を参照するようにイベント ハンドラを設定した場合に Internet Explorer でコードが実行されない

概要
セキュリティ更新プログラム 834707 には、Internet Explorer が関数ポインタを処理する方法に対する変更が含まれています。この機能上の変更は、イベント ハンドラによる、DOM (Document Object Model) 関数の直接参照に関係するものです。この資料では、この問題について説明し、いくつかの回避策を示します。
現象
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>
  • 関数ポインタを変数に格納し、その変数を実行する別の関数を定義します。次の例では、onclick イベントを使用してウィンドウを閉じます。

    元のコード
    <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 Knowledge Base) をクリックしてください。
834707 [MS04-038] Internet Explorer 用の累積的なセキュリティ更新プログラム
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 887741 (最終更新日 2004-11-12) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
プロパティ

文書番号:887741 - 最終更新日: 12/09/2004 07:29:55 - リビジョン: 2.0

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

  • kbtshoot kbprb KB887741
フィードバック
var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("