としたときの挙動.

http://orera.g.hatena.ne.jp/higeorange/20080514/1210740349
でいろいろと疑問に思ったのでまとめてみる.


まず検証ブラウザ.
Opera, Firefox, Konqueror

<body onload="func()"> としたとき

Opera

window.onload & window.document.body.onload に func を設定.
しかし window.onload に既になにかあれば window.onload に func を設定しない.
ここでわからないのが,window.onload を実行するか window.document.body.onload を実行するかということ.

Firefox

window.onload にfunc を設定.
window.onload の関数を実行

Konqueror

window.onload にfunc を設定.
window.onload の関数を実行

window.document.body.onload = func; としたときに実行するかどうか

OperaKonqueror は実行した.
Firefox は実行しない.そもそも widown.document.body.onload は undefined.

結論

Opera の挙動は何かおかしい.
<body onload="func"> は避けるべき.