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

文書翻訳 文書翻訳
文書番号: 887741 - 対象製品
すべて展開する | すべて折りたたむ

概要

セキュリティ更新プログラム 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 - 最終更新日: 2004年12月9日 - リビジョン: 2.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (Programming) 6.0
キーワード:?
kbtshoot kbprb KB887741
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com