javascript の window.onload イベントはページの解析、画像などのファイル読込が全て完了してから発生するようです。
そのため、ロードイベント前の文書の解析後に迅速にページのDOM要素に対してjavascriptで操作を行ないたいという要求がおこるのは、ユーザーの利便性を考慮すると当然といえそうです。
Ajaxという言葉が注目され、Googleによるjavascriptを活用したアプリケーションが登場し、
回線速度の向上、インフラ整備、ブログ作成者・閲覧者の増加、ウェブAPIの公開、
マッシュアップサイトが数多く登場しています。
そのような背景の中でjavascriptによる DOM ロードイベント検知の方法もいろいろ探究されてきたようです。今までの流れを書き出してみました。
- 1993/04/30 : Tim Berners-Lee , CERN - World Wide Web 無料開放
- 1995 : Brendan Eich - JavaScript誕生
- 1998/10/01 : W3C - DOM1仕様勧告
- 1999/03/18 : Microsoft - IE 5 リリース
- 2004/04/01 : Google - GMail 告知
- 2005/02/08 : Google - Google Maps 告知
- 2005/02/18 : Jesse James Garrett - Ajax 提唱
- 2005/09/24 : Dean Edwards - DOMロード問題
- DOMContentLoaded ( Mozilla/Firefox )
- script defer ( IE : 外部 javascript ファイル読込あり )
- 2005/09/25 : Dean Edwards - DOMロード問題
- ondocumentready ( IE : 外部 HTC ファイル読込あり )
- 2005/09/30 : Tim O'Reilly - Web 2.0 提唱
- 2006/04/20 : livedoor - livedoor Reader リリース
- 2006/06/08 : Matthias Miller - DOMロード問題
- script defer ( IE : 外部 javascript ファイル読込なし )
- 2006/06/15 : John Resig - DOMロード問題
- document.readyState ( Safari )
- 2006/06/20 : Opera 9 リリース
- DOMContentLoaded ( Opera )
- 2007/06/28 : Diego Perini - DOMロード問題
-
The window.onload Problem - Solved!
-
window.onload - An Alternative Solution
-
The window.onload Problem Revisited « Out of Hanwell
-
window.onload (again)
-
Your Web, Your Choice: Opera 9、これまでにない操作感を
枯れた技術が活用され、以前は想定されなかった問題が解決されていく様子に見えます。
HTML5草案では、DOMContentLoadedイベント(FirefoxとOperaは実装済)が提案されているそうです。
将来、SafariとIEにも採用されたら多くの人に喜ばれそう。
0 件のコメント:
コメントを投稿