次のコード行により、IEで「JScriptオブジェクトが必要です」というエラーが発生します。
hideElements.apply(window, elements);
IEによると、「期待されるJScriptオブジェクト」はhideElements、を参照します。これは、任意の数のHTMLオブジェクトを引数として受け取り、それらを非表示にする関数です。
具体的には、を呼び出してHTMLオブジェクトの配列を取得し、getElementsByTagNameこの配列を引数のリストとして関数に渡しますhideElements。その場合、JS関数apply()はまさに私が必要としているものです。私は確かに別の方法でコードを書くことができることを知っていますが、これはFirefoxとChromeで完全に機能し、技術的に正しいので、IEがそこでスタックする理由を本当に知りたいです。
行が実行されると、次のように判断しました。
windownullではなく、タイプWindow;elementsnullではなく、タイプHTMLCollection; とhideElementsは完全に機能するJS関数です(それ自体で完全に機能し、上記のコードが実行されると完全にロードされます)。