IE8で「実装されていません」のスクリプトエラーが発生
更新日: 公開日:2014/01/27
タイトルの通り「実装されていません」のスクリプトエラーが IE8 上で発生しました。Chrome上では問題無く動作していたのに、なぜ IE だけエラーになってしまったのか調査したところ、非常に単純な理由だったので、覚書として投稿します。
エラーが発生した箇所は以下の通りです。
<script> function testfunction(){ alert("onload実行"); } window.onload = testfunction(); // ここで「実装されていません」エラー </script>
一見、何も問題無いように見えるのですが、ほんとうに些細な修正でエラーが出なくなりました。
修正内容は「window.onload」から「window.onLoad」への変更です。
調べてみると、場合によっては小文字のままでも処理が出来るようですが、window.onLoad のイコールの後に直接関数名を指定している場合は、L を大文字にしないと上記のようなエラーとなってしまうようです。
根本的な原因解明とはなっていませんが、onload と onLoad で動作の差異が生じるケースがあることを忘れないように、記しておくことにします。