script要素のdefer属性

『初めてのJavaScript』9ページ。
下記のようにscript要素にdefer="defer"(HTML 4であれば属性名を省略して属性値deferだけでも良い)を指定すると、ページの処理と表示が終了してからコードが実行されるようになるそうだ。
(コンテンツを生成するコードとは例えばdocument.write)

<script type="text/javascript" defer="defer">
    // コンテンツを生成しないコード
</script>

window.onloadみたいなものなのかな。

window.onload = function() {
    // コード
}

試す

<script type="text/javascript" defer>
    document.body.style.backgroundColor = "pink";
</script>

をhead部に入れたHTML文書をブラウザで表示させてみた。

IE8
ピンク
Firefox 3.0.11
Opera 9.63
Safari 4.0

うーん

ググる

実装されているブラウザ

調べた範囲ではIE(SafariとKon〜は調べてない)のみ。

script要素のdefer属性の実装 - Thousand Years

良かった。

Firefox 3.1 for developers - MDC (2009年2月8日 18:25:06 版)https://developer.mozilla.org/ja/Firefox_3.1_for_developers#HTML_.e3.81.ae.e5.a4.89.e6.9b.b4.e7.82.b9

script 要素の defer 属性のサポートが実装されました。

defer

Firefoxは3.1から対応のようだ。