onload属性 onunload属性

Updated / Published

onload属性は body要素に指定した場合はその文書全体の読み込みが完了したときに、frameset要素に指定した場合はフレーム全ての読み込みが完了したときに起動するスクリプトを指定するイベント属性(イベントハンドラ)です。発生タイミングはページ内容の全ての読み込みが完了したときのため、文書内にapplet要素, embed要素, img要素, object要素などによるオブジェクトが埋め込まれていれば、これらオブジェクトの読み込みが終わるまでonload属性のイベントは発生しません。

onunload属性は body要素に指定した場合はその文書が閉じられるときに、frameset要素に指定した場合は全てのフレームが閉じられるときに起動するスクリプトを指定するイベント属性です。文書やフレームが閉じられるときというのは、同一ウインドウ内でその文書(フレーム)から別の文書(フレーム)に移動したときやウインドウを閉じたときのことです。

onload属性, onunload属性の DTD(文書型定義)は body要素と frameset要素のどちらに指定するかによって異なります。body要素の場合は HTML4.01, XHTML1.0, XHTML1.1 の全てのバージョンで指定することができます。これに対して frameset要素の場合は HTML4.01 Frameset と XHTML1.0 Frameset にのみ指定でき、HTML4, XHTML1.0 のバージョンでは非推奨とされ、XHTML1.1 においては frameset要素自体を使用することができません。

バージョン
body要素の場合
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
frameset要素の場合
  • HTML4.01(F)
  • XHTML1.0(F)
必須
-
非推奨
body要素の場合
-
frameset要素の場合
  • HTML4.01 非推奨
  • XHTML1.0 非推奨
  • XHTML1.1 廃止
属性値
スクリプト

onload属性 onunload属性を指定できる要素型

B
F

onload属性 onunload属性のサンプル

次のスクリプトではこのページを読み込んでから1秒後の経過時間を表示します。

<script type="text/javascript">
hour=0; min=0; sec=0;
function count() {
sec++;
if(sec == 60) { min++; sec=0;
if(min==60) { hour++; min=0; } }
h=hour; m=min; s=sec;
if(h<10){h="0"+h;} if(m<10){m="0"+m;} if(s<10){s="0"+s;}
document.getElementById('chktm').value=h+":"+m+":"+s;
}
</script>
......
<body onload="setInterval('count()',1000)">
<p>経過時間:
<input type="text" name="chktm" id="chktm"
size="8" value="00:00:00"></p>