ダイナミックHTML: dynamic HTML、DHTML)は、静的なHTMLの内容をCSSJavaScript等のクライアントサイドスクリプト言語を用いて動的に変更するウェブ技術を指す抽象概念である。

視覚的な訴求効果の高いHTMLドキュメントを作成できるなどとして、1997年に起こったネットスケープマイクロソフトブラウザ戦争で生まれた。

背景 編集

1997年当時は JavaScript からHTMLを参照、制御する方式が各社不統一であり、ウェブブラウザごとに別々の JavaScript を書く必要があった。この状況を打開すべく1998年10月にW3Cはクライアントサイドスクリプト言語とHTMLドキュメントの緩衝材としての役割を果たす Document Object Model(DOM)を勧告した。これによりDOMをサポートする新型のブラウザ(Internet Explorer 5.0 や、Netscape 6.0、Mozilla FirefoxOpera 7.0 など)であれば、ブラウザを問わずひとつの記述で HTMLドキュメントを参照、制御できるようになった。登場当初は応用方法が分からず、単なる飾りとして使われていたが、2005年Ajaxの提唱前後にWebアプリケーションの構築手法として広く用いられるようになった。

HTML Application 編集

HTML Application(HTA)はダイナミックHTMLの機能を利用して Microsoft Windowsアプリケーションを作成する仕組みである。ダイナミックHTMLの登場によってインタラクティブなウェブページを容易に作成できるようになったが、HTAはそれらの仕組みを通常のアプリケーションの作成に応用する試みである。HTAの作成は、単にHTMLファイルの拡張子を「.hta」にするだけである。ダイナミックHTMLに対するHTA固有の拡張はHTA:APPLICATION要素、ActiveXやローカルファイルへのアクセスに制限がないことなどである。実行には Internet Explorer 5.0 以上が必要である。

HTA から別のリソースに HTTP リクエストを送出する際には HTTP_REFERER として HTA のファイル自身のフルパスを用いるウェブブラウザが存在するため[要出典]、ファイルのフルパスにパソコンのアカウント名などの隠蔽したい情報が含まれている場合には注意が必要である。

Dashboard 編集

Mac OS X v10.4 Tiger から搭載されたDashboardダッシュボードでは、Widgetウィジェットという小型のアプリケーションを実行することができる。Widget は HTML、CSS、JavaScript を用いたものである。HTMLとスタイルシートで外観を定義し、JavaScript でそれを制御するというもので、一足早く登場した Konfabulatorコンファビュレイター というソフトウェアで実現されていた機能に似ている。ただし、正確に言えば Dashboard そのものは、Mac OS X v10.3 から搭載されたウィンドウ一覧表示機能、Exposéエクスポゼの拡張であり、Widget は普段は隠れている点、インターフェースなどの記述に用いるマークアップ言語などが Konfabulator とは異なる。また JavaScript 制御のパッケージは Sherlock 3シャーロック 3 の後続技術である。Widgetの内部からはネットワーク接続を行ったり、各アプリケーションにイベントを送信したり、アプリケーションやシェルスクリプトなどを実行することが可能になる。

関連項目 編集

外部リンク 編集