<!DOCTYPE html>
<html>
<head>
<title>ページのタイトル</title>
</head>
<body>
<!-- ページのコンテンツ -->
<div id="contentA">コンテンツA</div>
<div id="contentB">コンテンツB</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
var contentA = document.getElementById('contentA');
var contentB = document.getElementById('contentB');
var random = Math.floor(Math.random() * 2);
if (random === 0) {
contentA.style.display = 'block';
contentB.style.display = 'none';
} else {
contentA.style.display = 'none';
contentB.style.display = 'block';
}
});
</script>
</body>
</html>window.onload より
window.addEventListener("DOMContentLoaded", function() { ... }) を使用する方が良い場合があります。
window.onload と比較して、いくつかの利点があります。
速度: DOMContentLoaded イベントは、HTML が完全に読み込まれて解析された時点で発生しますが、スタイルシート、画像、サブフレームの読み込みは待ちません。一方、window.onload はページ上の全てのリソース(画像、スタイルシート、スクリプトなど)の読み込みが完了した後に発火します。そのため、DOMContentLoaded を使用した方がページがより早くインタラクティブになります。
柔軟性: 複数の DOMContentLoaded リスナーをページに追加できますが、window.onload を複数設定すると、前の設定を上書きしてしまう可能性があります。