WebブラウザはJavascriptを実行する
インターネットの「スイスアーミーナイフ」の感があるWebブラウザには、Webサーバーへのアクセスと取得したHTMLファイルの整形表示(Webページという)だけでなく、プログラミング言語Javascrptが実行可能である。 WebブラウザでJavascriptを実行するには以下のようにするだけで実行できるので、格別な言語処理系を準備する必要はない。 Webブラウザとテキストエディタさえあれば、インターネット接続も必要とせずに、プログラムを実行することができる。
- Webブラウザ設定においてJavascriptを有効にする
- プログラムは、原則的にHTMLファイル内の<head>タグ内に、またはHTMLファイルに読み込まれる外部ファイルに記述する(複数の箇所に分けて記述も可能)。
次は<head>〜</head>の中でJavascriptを直接に記述する場合である。<head> .... .... <script type="text/javascript"> <!-- .... ここにスクリプトを書く .... //--> </script> .... </head>
次は、Javascriptを別のファイルに記述して(たとえば、script.psで保存)、このファイ内容を<head>〜</head>内で読み込む場合である。<head> .... .... <script type="text/javascript" src="script.js"> </script> .... </head>
Javascriptの実行は、コンパイラによって実行可能 executableな機械語(ネイティブコード native codeともいう)に翻訳した上でこれを読み取って動作させるのではなく、プログラムを記述したスクリプト(プログラムを記述したテキストでソースコード source codeを逐次解釈しながら実行するインタープリタ interpreterである。
Webブラウザ内でjavascriptが実行できるということは、WebブラウザがJavascriptが記述または読み込み指示されたHTMLファイルを読み込むと(WebサーバがらWebブラウザにJavascriptをWebブラウザに送り込まれると)、Webサーバが逐次的指示をブラウザに送り出すことなく(Webサーバと通信して一々指示を仰ぐことなく)、Webブラウザ内のページ内容を書き換えることができるようになる。 こうすることによって、Webサーバの負担を軽減しながら、ダイナミックなWebページを生成することができるようになる。
Javascriptとして、半径を100ピクセルから300ピクセルまで20ピクセルずつ増加させながら円を描くことを繰り返すという内容であれば、次々に繰り返し描かれ続ける画像はWebブラウザが生成したものである。 Javascriptでこうした画像を描くにはどうすればよいだろう?
また、JavascriptはAjax(Asynchronous JavaScript + XML)と呼ばれるブラウザ内で非同期通信とインターフェイスの構築などを行う技術(Ajaxエンジン)で使われることによって、WebブラウザとWebサーバとの組み合わせで実現されるWebアプリケーションにおいて、WebブラウザからWebサーバにサーバ要求を送りその結果応答を受け取る(時間を要する)ことでページ画面遷移を発生させる従来方法から解放され、Ajaxによって動的なWebアプリケーションが可能になった。
Google検索を利用するときに、検索ワードを入力する間にもWebブラウザとGoogle検索エンジンとの間でバックグランドで通信が行われ、入力途中でも検索語の候補リストが表示されることを確認しなさい。