■不具合
<script type="text/javascript"> window.onload = function(){alert('test01');} </script>
と<head>内に記述があり
<body onload="alert('test02');">
と記述がある場合、test02としかアラートされず上のスクリプトは実行されない。
■解決策
- window.onload内にbodyタグに記述していたスクリプトを移動する
- イベントリスナを使う(今回、やり方は省略する)
■原因
通常、同じ要素にあるイベントハンドラは1回しか使えず、2回記述した場合は上書きされ、「+=」で複数個つける事も出来ない。
今回のケースでは、「body onload」と「window.onload」が同じものとして認識されているという事なのかもしれない。
■検証ブラウザ
- Firefox2.0
- IE6
- IE7