検索 - みる会図書館

全データから 155462件見つかりました。
1. UNIX MAGAZINE 1997年7月号

連載 / プログラマー入門ー JavaScript のバージョンについてはあまり触れていませ ん。私の勝手な慮測ですが、 JavaScript 1.0 に機能を追 加する時点で、 「あっ、バージョンを区別しないとあかんのとちゃうか」 「はなら、もとのを 1.0 にして、新しいはうは 1.1 にし たろ」 などという決め方をしたのではないでしようか。 JavaScript のパージョンの指定 HTML に言当する JavaScript プログラムの書き方に も、バージョン番号をあとから付けたと思われるふしがあ ります。これまでに紹介した JavaScript プログラムは、 く script language=" JavaScript " > で始まっていました。しかし、 JavaScript 1.1 では正式 く script language=" JavaScriptl . 1 " > と書くのだそうです。 それなら、 JavaScript 1.0 では language を、 Java- Script1.0 " と指定するのかといえばそんなことはありま せん。こちらはたんに、 く script 1anguage="JavaScript"> と書くだけです。つまり、 JavaScript 1.0 の時点ではバ ージョン番号を付けることにまで考えがおよばなかったよ うです。 ところで、ふだんはこれらを意識して書き分ける必要は ありません。 language=" JavaScript" と書いておけば、 web プラウサのバージョンに応した JavaScript バージョンカイ吏用されます。 lnternet ExpIorer は ? lnternet ExpIorer 3. x の JavaScript のノヾージョン は 1.0 なので、今回紹介する JavaScript と Java を繋 ぐ機能は基本的には使えません。しかし、あとで紹介す る「 Java を直孑却平び出す」項の例だけは、 lnternet Ex- plorer 3. x でも成功しました。もっとも、この方法は JavaScript 1.0 で動作するとは書かれていないようなの で、運がよかっただけかもしれませんが・・・ UNIX MAGAZINE 1997.7 この号が店頭に並ぶころには、 lnternet Explorer 4.0 がリリースされているはずです 1 。もしかすると、新しい バージョンでは JavaScript と Java を繋げるようになっ ているかもしれません。 Java の′く一ジョン バージョンに注意しなければならないのは Java も同し で、 JavaScript に対応したものを使う必要があります。 JavaScript 1.1 と繋がる Java のノヾージョンは、 JDK 1.0.2 ですが、点では JDK 1.1.1 が職斤版としてリ リースされています。これから Java をダウンロードする 人は注意してください。 場合によっては JDK 1.1.1 で動く例もありますが、 Java から JavaScript を呼び出すときにうまく動かない こともあります。 影の主役 LiveConnect Netscape Communications は、 JavaScript と Java を繋ぐ機能のことを、 LiveConnect と呼んでいます。 LiveConnect に働いてもらうための特別な設定や呪文は とくに必要ありません。使っている Web プラウサが、 JavaScript と Java の両方を実行できるようになって さえいればよいのです。たとえば、 Netscape Navigator 3. x では [Qptions] メニューで、 JavaScript や Java を 実行可能にする指定ができるので、どちらも実行できるよ うに設定してから試してみてください。 これ以降の例では、 web プラウザとして、とくに断 わらないかぎり Netscape Navigator 3. x を使います。 Java のほうは、 JDK 1.0.2 を利用するものとして話を進 めます。 JavaScript で Java する 最初に紹介するのは、 JavaScript から Java のプログ ラムや変数を参照するガ去です。さきにこちらをとりあげ たのは、前準備や特別な設定が不要だからです。しかし、 Java から JavaScript を呼び出すときよりもトラブルに 悩まされました。 1 工見学点では、ソフトウェア開発者とインターネット関支術者だけを 対象に公開されているようです。 109

2. PHP 1 (はじめてのPHPプログラミング)

76 第 1 章プログラミングの基礎知識と Web アプリケーション 亜 -3 web アプリケーションについて知ろう ・手元のコンピュータ上で動く「ローカルアプリケーション」のほかに、ネット ワーク上で動作する「 Web アプリケーション」がある ・多くの Web アプリケーションでは Web ブラウザを利用する ・ Web サーバー上のアプリケーションを「サーバーサイドアプリケーション」 という ・ Web ブラウザを利用して、サーバーサイドアプリケーションに対する入力や 表示を行う ・ Web アプリケーションはサーバーサイドアプリケーション、 Web ブラウザな ど多くのローカルアプリケーションの組み合わせで動作する ・ HTML や H 幵 P など WWW の技術を多く利用する ・サーバーサイドアプリケーションに対するリクエストとレスポンスを繰り返す ことで、 Web アプリケーションが動作する ・ Web ブラウザの中で動作する「クライアントサイドアプリケーション」も存 在する ・ PH P という言語を利用してサーバーサイドアプ丿ケーションを作ることができる ・ PHP は Web アプリケーションを作成しやすく設計された言語である ・クライアントサイドアプリケーションを作るためには JavaScript が多く使わ れる 学習のポイント Web アプリケーション Web アプリケーション PHP と Web アプリケーション KEYWORD Web アプリケーション・・・ H 幵 P を使ってプログラムへの入力や出力を行うア プリケーション サーバーサイドアプリケーション・・・ H 幵 P サーバー上で動作するアプリケー ション クライアントサイドアプリケーション・・・ Web ブラウザ上で動作するアプリケー ション。 JavaScript などで記述

3. UNIX MAGAZINE 1996年12月号

3 フログラマー入門 荒井美千子 JavaScript(2) JavaScript で書く HTML Java とちょっと似ている " こと 前回の記事では、 を知ってもらうために、日時を表す Date クラスを使 って、 WWW ページにアクセスした時刻を表示する JavaScript の例を紹介しました。 もう一度 Java のコード ( リスト 1 ) と JavaScript の コード ( リスト 2 ) を見くらべてください。細かな違いは ありますが、 Date クラスのオプジェクトの作り方から、 日時を表す文字列を取得するためのメソッドまでそっくり です。 則回は、、 JavaScript と Java はまるで違う " という意 graphic. drawString( 文字列 ) ; Java で Web ページに文字列を表小するには、 去絲材 j ・に注目してください。 と疑問に思われる方もいるでしよう。それぞれのコードの 「いったい、どこいらへんがそんなに違うんやろ」 味のことを書きました。 一方、 JavaScript で Web ページに文字列を表小する の名前を付けるかはプログラムの書き方しだいです。 トで、 graphic" と書くか、、 g " と書くか、それ以外の別 ソッドに引数として渡す Graphics クラスのオプジェク と書きます。、、 graphic" は、プラウザがアプレットのメ には、 104 名前で、プログラムか勝手に変史することはできません。 と書きます。この、、 document" は JavaScript カヾ夬めた document . vrite ( 文字列 ) ; リスト 1 時刻を新する Java のコード Date d = new Date() ; String datestr = d. t0String() ; String timestr = datestr. substring()l , 19 ) ; graphic . drawString(timestr,50, 100 ) ; リスト 2 時刻を表示する JavaScript のコード d = new Date(); datestr = d. t0String() ; timestr = datestr. substring()l , 19 ) ; document . write(timestr) ; なんだかこのあたりが、 Java と JavaScript の違いの ようです。 Java と JavaScript の世界観 Java の世界は、、、初めにアプレットありき " です。 Java のプログラムから見れば、プラウサなどの Java システムがアプレットを生成したときが世界の始まりで、 アプレットか消滅したときが川 : 界の終焉です。 また、 ・アプレットを含む HTML の文書 ・アプレットを表示しているウインドウ など、アプレットの外側の世界へは、アプレットのメソッ ドを介してアクセスします。 これに対し、 JavaScript の世界は、、初めにプラウザあ りき " です。 JavaScript の世界では、プラウサの部品やドキュメ ントなどが、すべて創世期から存在するオプジェクトと して用意されています。 JavaScript プログラムからは、 JavaScript システムによってあらかしめ決められた名前 UNIX MAGAZINE 1996 ユ 2

4. IO 2016年 08月号

/ / 朝 7 事 que Ⅳ 3 」の 、、変更点 着手から一年半かけてようやくリリースとなっ 大幅な「スリム化」「洗練」「標準準拠」 た「 jQue 「 y3.0 」。 大幅な「スリム化」「洗練」「標準準拠」が行なわ れています。 JavaScript そのままだとリスト 3 の通りですが、 「 jQueryJ とは jQuery の記法ではリスト 4 のようにきわめて簡単 ■「 JavaScript 」を簡単にする「ライプラリ」 になります。 「 jQuery 」とは、 JavaScript を簡単に書くため のライプラリです。 【リスト 2 】このタグの間にテキストを入れたい 「仕様の通りに書けば、 JavaScript アプリとし <div id="here"> ここに入れる </div> て実行される」という意味では「フレームワーク」 と呼べるでしよう。 【リスト 3 】正統的 JavaSc 「 ipt var here document. getE1ementById("here"); 「 jQue Ⅳ」のホームページ here.innerHTML "ThiS iS a pen" http://jquery.com/ 【リスト 4 】 jQuery で書くと jQuery の導入は、以下のように簡単です。 $(#"here"). htm1("This is a pen"); [ 1 ] 「 jquery-3.0.0. js 」のような名前の「ひとつの大 ■特に Ajax で重宝する きな JavaScript ファイル」をダウンロードして、 自分の Web アプリケーションのフォルダに置く。 最も jQuery で重宝されるのが「 Ajax 」に代表さ [ 2 ] HTML 文書の「 head 」タグ内 れる「非同期処理」です。 でリスト 1 のように参照する。 「非同期処理」とは、サーバにデータを要求し、 応答を待たずに次の処理へ進む技術です。 jque -300 「 jQuery 」にはそのための便利な記法が揃って います。今回の「ノヾージョン 3.0 」でも特に「非同期処 理」の書き方が整理されたので、このあと解説します。 古いプラウサへの対応を破棄 ■着手から 2 年半 さて、 jQuery の公式プログによると、「 3.0 」の開 発開始は 2014 年 10 月。 2016 年 6 月の完成まで 1 年半です。 なぜ、それほどの時間がかかったのでしようか。 ■レガシーコードを捨てて軽量化 手間のかかった変更点は、古いプラウザにも対 「 jQueryJ の本体は JavaScript ファイル 【リスト 1 】 jQue 「 y の本体を参照する <script type "text/javascript" jquery-3.0.0. js"></script> src あとは、 JavaScript の中に jQuery の提供する 関数や記法を書いていくだけです。 ■記法を簡単にできる jQuery の典型的な記法例は以下の通りです。 本記事でも何度か用いる例として、リスト 2 の ように「 id 」をつけた「 div 」タグの中にテキストを 挿入する方法を示します。 97

5. UNIX MAGAZINE 2005年5月号

はおもにプラウザ上の JavaScript で実行し、必要に応じ て非同期的にサーバーと通信してデータや画面の更新をお こないます。これによって、応答性のよいクライアント・ アプリケーションが実現できます。 たとえば、一 - 般的な検索操作では、検索ボタンを押して サーバーに検索文字列を送ると検索結果ページが表示され ます。これに対し、 Ajax では JavaScript プログラムか らサーバーに検索文字列を送り、受け取った検索結果を同 じページ内に表示します。こうすれは画面を切り替えずに 検索操作がおこなえるので、 Web ページ上でも文字を入力 するたびに検索結果がすぐに表示される、、インクリメンタ ル検索 " が実現できます。 Ajax では、メニューやボタンなどの GUI 部品以外の インターフェイスも作れます。たとえば、 1998 年 7 月号 で紹介した、、ズーミング・インターフェイス " を Ajax で 実現するには、文字や画像のズーミング操作はローカルの JavaScript プログラムで処理し、ズーミングや移動によ って新たに表示しなければならないデータが必要になった 場合にだけサーバーと通信します。これによって、ユーザ ーの操作とは非同期的にデータカ陬得できるので、サーバ ーからの応答を待たずに操作を続けられることになります。 かっての JavaScript にはサーバーとの非同期通信機能 がなく、このような手法は利用できませんでした。しかし、 最近は lnternet Explorer や Firefox 、 Safari など、多く のプラウザの JavaScript がサーバーとの非同期通信をサ ポートしているので、 GMail や Google Maps などのリ ッチ・クライアントが可能になったわけです。そして、 れらのアプリケーションが成功したおかげで、 Ajax の肩効 性が急速に認められるようになったのでしよう。 Ajax アプリケーションの作成手順 Ajax アプリケーションは、基本的には以下の手順で 作成します。 JavaScript とサーバーの通信には、 XML- HttpRequest オプジェクト [ 1 , 2 ] を使います。 1. 必要に応じて XMLHttpRequest オプジェクトを利用 し、プラウザの JavaScript からサーバーへ要求を送る。 2. プラウザからの要求に対し、サーバーは CGI を実行し て結果を XML で返す。 3. サーバーから返事を受け取ると、 XMLHttpRequest オ UNIX MAGAZ 工 NE 2005.5 プジェクトに登録したコールバック関数を呼び出し、返 されたデータを処理する。 XMLHttpRequest は、もともとは ActiveX オプジェ クトとして Microsoft が導入し、その後に MoziIIa など でも使われるようになりました。こういった経緯があるた めか、 lnternet ExpIorer と Mozilla/Firefox などでは 生成方法が異なります。 lnternet Explorer の場合は、次のようにして XML- HttpRequest オプジェクトを生成します ( 誌面の都合上、 で折り返しています ) 。 var req = new ActiveXObj ect=> ("Microsoft . XMLHTTP") ; 一方、 MoziIIa や Firefox 、 Safari では、 var req = new XMLHttpRequest ( ) ; として生成します。 生成された XMLHttpRequest に対し、以下のように してコールバック関数を指定すれば、サーバーとの通信が 可能になります ( 叩 e11 ( ) の第 3 引数が true の場合に非同 期通信がおこなわれます ) 。 'http: //example ・ com/ajax ・ cgi' var req. onreadystatechange callback; req ・ open("GET" , url, true) ; req. send(null) ; 通信が正常に終了すると、 XMLHttpRequest の readyState が、、 4 " になり、結果を XML またはテキ スト形式で取得することができます ( 通信の実行中には、 readyState は、、 2 " または、、 3 " になっています ) 。 function callback(){ if (req. readyState 4 & & 疇 - = 200 ) ) { req. status ret = xmlhttp . responseXML; / / ret = xmlhttp.responseText ; これらの機能を具体的にどのように利用するかは、プロ グラム側に任されています。 Ajax では、サーバーとのデー タのやりとりには XML を、画面表示には DOM や CSS を使うことになっていますが、かならずしもこれらを利用 しなければならないわけではありません。単純なデータの 受度しさえおこなえればよいのなら、 XML を使わずにす インターフェイスの街角 163

6. UNIX MAGAZINE 2005年5月号

イ ン タ フ ェ イ ス 今回は、 の 街 角 86 増井俊之■ Ajax 162 ックス ) " と呼ばれています。 リッチ・クライアントを実現する手法は、、 Ajax ( 工イジャ JavaScript を用いて描画したり、サーバーと通信して スムーズに地図を閲覧できます。 ータをサーバーからダウンロードして表示するので、より しても、別のページに移動することなく未ロードの地図デ ん。一方、 Google Maps では、地図をマウスでドラッグ を移動する場合は新たなページに移動しなければなりませ Yahoo! などの地図サービスでは、縮尺を変更したり位置 最大限に活用してリッチ・クライアントを実現しています。 gest や GMaiI 、 GoogIe Maps などでは、 JavaScript を ます。最近、 Google がサービスを開始した Google Sug- 用してリッチ・クライアントを実現する手法が流行ってい このところ、 Flash や Java の代わりに JavaScript を利 移を含むアプリケーションを実行させることができます。 いった操作カ河能なので、ページ移動をしなくても状態遷 だで通信しながらデータをやりとりしたり、描画したりと FIash や Java を使えば、プログラムとサーバーとのあい な Web アプリケーションの実現は困難でした。しかし、 ページが表示されてしまいます。このため、十分に対話的 ーの選択などにともなって状態遷移が発生すると、新しい リケーションを利用する場合、ボタンのクリックやメニュ 通常の CGI プログラムを用いて作成された Web アプ ーションを動かす手法を指します ) 。 ウンロードし、サーバーと通信をおこないながらアプリケ アントとは、サーバーからクライアントにプログラムをダ イアント " を実現する方法を紹介しました ( リッチ・クライ とサーバーとの通信によってプラウザ上で、、リッチ・クラ だいぶ前のことになりますが、 2003 年 2 月号で、 Flash この Ajax の技法を使った Web アプリケー ン・ ョンについて解説します。 Ajax とは UNIX MAGAZINE 2005.5 ajax. html) phpo 月 ( は http://antipop ・ zapto ・ org/docs/translations/ adaptivepath.com/publications/essays/archives/OO()385. 1 Ajax : A New Approach t0 Web AppIications (http:// Ajax にもとづくアプリケーションでは、対話的な処理 らないという問題がありました。 などをおこなう場合も、つねに画面を切り替えなければな されます。その結果、ちょっとした検索やパラメータ変更 が送られ、新しいページが表示されるという操作が繰り返 タンやメニューを操作するたびにサーバーに HTTP 要求 通常の CGI で Web アプリケーションを作成すると、ボ ・ JavaScript による上記技術の統合 ・ XMLHttpRequest を用いた非同期的データ通信 ・ XML 、 XSLT によるデータ交換 / データ制御 示と対話処理 ・ DOM (Document Object ModeI) を用いた動的な表 準化された画面表示 ・ XHTML と CSS (Cascading Style Sheet) により標 います。 ントを実現する手法で、以下のような機能から構成されて 非同期的に XML 通信をおこないながらリッチ・クライア た造語です。 JavaScript の通信機能を用いてサーバーと Jesse James Garrett 氏が自分の Web ページ 1 で提唱し Ajax (Asynchronous JavaScript 十 XML) とは、

7. UNIX MAGAZINE 2001年3月号

図 3 図 4 連載 JavaServer Pages— アプレットでダイナミックなページを生成するプロセス ページを返す ② ) 指定された Web ① web ページ要求 JavaScript でダイナミックなページを生成するプロセス ( ④クラスファイルを返す ファイルを要求 ( アプレットのクラス ② HTML を返す ① web ページ要求 クライアント Web ブラウザ 実行結果を表示 ( ① HTML とスクリプトの クライアント Web ブラウザ のようなプログラムを HTML に当します。 Web プラ ウサは HTML に埋め込まれた JavaScript プログラムを 解釈し、プラウサ上で実行します ( 図 4 ) 。 JavaScript もアプレットと同様に Web プラウサ側で ローカルに実行されるので、 Web サーバーヘアクセスす る必喫がなく反応が速いという利点があります。 JavaScript にはアプレットにない利点もあります。ア プレットは、 Web プラウサ上でアプレットの外側に表示 されているものを制御できませんが、 JavaScript はプラ ウザ上のさまざまなものを制御できます。たとえば、 Web プラウサ上てマウスがクリックされたとき、アプレットは 自分の領域内ならそれを本剱日し、クリックした位置に応し て表示を変更できます。しかし、領域の殞則をクリックさ れてもそれを検知できません。つまり、同しページにフォ ームのボタンか表示されていても、アプレットにはボタン か胛されたことを知る手段がありません。これに対して、 JavaScript はページ本を制御できるので、フォームの 82 HTML コード く applet … > </applet> HTML ファイル アプレットの コード クラスファイル Web サーバー サー / ヾー HTML コード <script ... > スクリプトコード </script> HTML ファイル Web サーバー ボタンカ甘甲されたり、表示されているイメージ上をマウス か移動したイベントを捉えて処理できます。 JavaScript は、 ・ HTML との親和性のよさ ・ユーサーの操作に対する反応速度 ・小さなプログラムの作りやすさ サーバー UNIX MAGAZINE 2001.3 うになりました。なお、 機能か拡張された結果、 Web サーバー側でも動かせるよ しか動きませんでしたが、のちにイ士様や web サーバーの JavaScript フログラムは、当初は Web プラウサ上で で正しく動かないケースがあります。 だし、 JavaScript もアプレットと同様に、互換生が原因 するべージの大半は、 JavaScript で作られています。た ています。インターネット上で目にするアクテイプに反芯 など、 Web 上での GUI の作成に適した多くの利点をもっ

8. UNIX MAGAZINE 1997年1月号

図 14 ボタンの表示例 よ i 塒阜 m k を朝 , 第旦“。 Réload 連載 / プログラマー入門ーの , を N 三。叩 2 ー [button ボタン ] 0 ロ してもいいよ く i nput type= button val = 押してもいいよお " > けではなく、ボタンか胛されたときの処理を JavaScript ンのような特別な働きがあらかしめ割り当てられているわ 部品はいわゆるボタンです。 submit ボタンや reset ボタ JavaScript で役立つ部品を紹介しましよう。、、ボタン " JavaScript でも扱えますが、それら以外にもう 1 つ 普通のフォームで扱えるフォームの部品は、すべて ボタン部品 いろ動かしてみましよう。 以降では、 JavaScript を使ってフォームの部品をいろ して CGI プログラムを実行することもできます。 もちろん、従来のフォームのように、 submit ボタンを押 ボタンを押したりしたときにプログラムを実行できます。 押される前でも、テキスト入力フィールドに入力したり、 しかし、 JavaScript では違います。 submit ボタンが しもできません。 では、あなたの作った CGI プログラムからはなんの手出 クスやリストお尺できますが、 submit ボタンを押すま input タグを使って、 で書くことかできます。 追加し、何かイベントが発生したときにプログラムを実行 う。 JavaScript ではフォームの部品にいくつかの属性を 活躍してもらいたいので、もうすこし詳しく説明しましょ ボタン部品はこれから説明する JavaScript の実験で こなわれません。 れはただの箱ならぬただのボタン、実際の処理はなにもお す。このボタンは押せば反芯しますが、プログラムがなけ と書けば、とりあえす図 14 のようなボタンが表示されま く input type="button" value=" 押してもいいよお " > 114 できるようになりました。以下は、 JavaScript で使うと きの HTML です。 く input type="button" name=" 名月リ " value=" ラベノレ文字列 " イベントの種類 = " 処理 " > name 属性は部品を区別するために付ける名前、 value 属性はボタンのラベル文字列です。 JavaScript の大きな 違いは、イベントを処理するためク旨定が、 イベントの不鶤頁 = " 処理 " でできることです。 、、イベントの不頁 " には、 ・クリックした 値か変更された などのイベントを表す文字列を指定します。、、処理 " には JavaScript のプログラムを書きますが、定番の手法はど こかで定義した JavaScript 関数を呼び出すことです。 たとえは、 「ボタンカ甘甲されたときに、 hello() 関数を呼び出す」 という処理は、 く input type="button" name="He110Button' value = " He11 。関数を実行 " onC1ick="he110() " > と書きます ("onCIick" はクリックイベントを意味しま す ) 。 フォーム・オプジェクト フォームの部品で扱えるイベントの不頁や処理の書き方 を説明する前にフォーム・オプジェクトの扱い方を説明 しておきましよう。これが分かれば、フォームの部品の 状態を JavaScript で変化させることかて、きるようになり ます。 JavaScript の世界では、現在表示している文書は doc- ument オプジェクトでした。さらに、文書中のフォーム もオプジェクトとして参照できます。フォームを参照する こでは簡単な去を ガ去はひと通りではありませんが、 1 つだけ紹介します。はかの去も知りたい場合は、本屋 さんで分厚い JavaScript の説明書を買ってください。 UNIX MAGAZINE 1997.1

9. UNIX MAGAZINE 1997年6月号

フログラマ ー入門 荒井美千子 JavaScript(8) 今回は、 JavaScript の文法についてお話しします。と はいえ、以前にも書いたように去の説明は基本的に退屈 なものです。そこでここから先は、 「 C 、 C 十十あるいは Java を知っている」 読者を対象に C / C 十十や Java とは異なる部分を中心に とりあげます。以下は、これから説明する内容のキーワー ・新しいオプジェクトの作成 ・ with 文 ・匍屆構造 ・演算子 変数の旦言 . 雪豐 ・ HTML の正しい書き方 90 語です。もちろん、 grep とは UNIX の文字歹呀鑠コマンドのことてす。 1 私を含むイ・ 1 名 ( ? ) カ硬っている、目で grep する " という意未の用 の書き方の約束事から始めましよう。 HTML のなかに いての説明というのも変則的ですが、とにかく HTML 言語の文法説明の最初が、ほかの言語の書き方につ つばなから HTML 講座になんねん」 「今日は、 JavaScript の文法の話なんやろ。なんで、しょ Ⅱ TML の書き方の問題点 の部分だけを拾い読みしてもよいでしよう。 か書ける方なら、、目 grep"l で、興未のあるキーワード よいでしよう。すでに、ある程度 JavaScript プログラム JavaScript に慣れていない方は、最初から順に読むと JavaScript プログラムを埋め込むときには、どのように 書けばよいのでしよう。 「そんなもん、連載の最初のころに説明してたやん」 「お、よく憶えていたね。でも、あれでは十分しゃないん だよ」 この記事で JavaScript の紹介を始めたばかりのころ、 HTML ファイルに JavaScript プログラムを書くカ去を 説明したことがあります。そのとき、 <script 〉タグを使 って、 く script Ianguage="JavaScript"> JavaScript プログラム く /script> のように言己すると説明しました。 しかし、本当はこの書き方はお行儀がよくありません。 たとえは、リスト 1 の HTML を Web プラウザで表示さ せてみましよう。 JavaScript 対応のプラウサで表示させると、期待どお りの表示になります ( 図 1 ) 。しかし、 JavaScript に対応 していないプラウザ 2 で表示させると、適度な改行のない プログラムらしきものか表示されてしまいます ( 図 2 ) 。 自分だけ、もしくはイントラネットのように身内だけで 使うのなら、利用するプラウサに注意すればよいので少々 おかしな表示になってもかまわないでしよう。しかし、不 特定多数が見るインターネットで図 2 のようなページを公 開するのは、あまりよいことではありません。お堅い会社 やお彳斤では、読者 ( ビジター ) からの「このページは変 こで ( よ MS lnternet Explorer のかなり前のバージョンを使いま 2 した職斤のバージョンは JavaScript に対応しているため、このよう な海パにはなりません。 UNIX MAGAZINE 1997.6

10. UNIX MAGAZINE 1997年7月号

フログラマー入門 JavaScript(9) 荒井美千子 「いやー、はんまに今回は大変だったわ」 可カゞ ? 」 「はら、今度は Java と JavaScript を繋ぐって予告して たでしよ」 「そういえば、こしばらく、せっせとプラウザと闘って たみたいやな。で、勝ったんか ? 」 「うーん・・ それがいろいろ引っかかって」 「もしかして、でけへんかったとか ? 」 「かろうじて全敗を免れたってところかな」 「そないなこと言うて、今月の原稿どないすんねんな ? も う、締切り、過ぎとるがな」 「そうそう、そうなのよ。だから、こは開きなおって失 敗談も書こうかと思ってるの」 JavaScript と Java を繋ぐ機能を利用すれば、 Java- Script から Java のメソッド ( 関印を呼び出したり、逆 に Java から JavaScript を呼び出したりすることカき ます。 これでもう、 「 JavaScript ではシステムに近い処理かて、きない」 「 Java ではアプレットの殞則の世界を操れない」 などと、嘆く必要はありません。相壤こ利用しあうことで、 これまでよりすっと柔軟な処理ができるようになったの です。 ・・と、華々しく紹介するはすだったのですが、いざプ ログラムを書いてみると、しつにさまざまな部分に落し穴 がありました。そこで、今回は、、うまく動かなかったケー ス " も含めてお話しすることにしましよう。 、うまく動か なかったケース " の解去をご存じの方は、ぜ乙扁集部ま 108 でお知らせください。 最初に、 JavaScript と Java を繋ぐ背景について簡単 に説明しておきます。 JavaScript の′く一ジョン 現在、製品として提供されている JavaScript のバー ジョンは 2 不頁です。 Netscape Navigator 2. x ととも に初めて登場したのが JavaScript 1.0 です。現時点で の製品の職万版「 Netscape Navigator 3. x 」に対応して いるのは、 JavaScript 1.1 です ( 表 1 ) 。 JavaScript と Java を繋ぐ機能は JavaScript 1.1 以降で利用できるの で、とりあえす Netscape Navigator 3. x を用意してく ださい。則点 ( 1997 年 5 月初め ) では、新しい Web プラウザ「 Netscape Communicator 0 版」が公開され ていますが、 Communicator の公式リリースでサポート される JavaScript のバージョンは 1.1 なのか、 1.2 なの か、はたまた 2.0 になるのかはいまのところ謎です。 ありがちな話ですが、 Netscape Communications が JavaScript 1.0 を出したころは、バージョンについてあ まり深く考えていなかったようです。同社の Web«— ジで公開されている多くのドキュメントでは、 Netscape Navigator のバージョン番号は頻繁に出てきますが、 表 1 Netscape Navigator と JavaScript の 予備知識 / ヾー・ジョンの文寸応 Navigator Netscape Navigator 2. x Netscape Navigator 3. x Netscape Communicator JavaScript JavaScript 1.0 JavaScript 1.1 JavaScript ? UNIX MAGAZINE 1997.7