IE8で「実装されていません」のスクリプトエラーが発生

更新日: 公開日:2014/01/27
IE8

タイトルの通り「実装されていません」のスクリプトエラーが IE8 上で発生しました。Chrome上では問題無く動作していたのに、なぜ IE だけエラーになってしまったのか調査したところ、非常に単純な理由だったので、覚書として投稿します。

エラーが発生した箇所は以下の通りです。

<script>
  function testfunction(){
    alert("onload実行");
  }

  window.onload = testfunction(); // ここで「実装されていません」エラー
</script>

一見、何も問題無いように見えるのですが、ほんとうに些細な修正でエラーが出なくなりました。

修正内容は「window.onload」から「window.onLoad」への変更です。

調べてみると、場合によっては小文字のままでも処理が出来るようですが、window.onLoad のイコールの後に直接関数名を指定している場合は、L を大文字にしないと上記のようなエラーとなってしまうようです。

根本的な原因解明とはなっていませんが、onload と onLoad で動作の差異が生じるケースがあることを忘れないように、記しておくことにします。

\ この記事をシェアする /

このブログの運営者

NJ

Web系メインで従事していた元システムエンジニア。現在は個人事業主として独立。Webサイト運営における「困った問題」の解決方法をブログで発信。Web サイト運営、ポップデザインや動画制作など、パソコンでモノづくりをしている。