アプレットからのJavaScript実行 |
|
|
JSObjectを使ったアプレットからJavaScriptを実行するサンプルです。
|
||
|
アプレットからのJavaScript実行
このページには、以下のサンプルを掲載しています。
下の項目をクリックをすると各サンプルにジャンプします。
※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
■アプレットからのJavaScript実行[ サンプルプログラムのソースコード - Applet2JavaScript01.java - ]アプレットのソースコードになります。このプログラムから後述のscriptsample01.htmlに記述された JavaScriptのFunctionを呼び出しています。
[ サンプルプログラムのソースコード - scriptsample01.html - ]appletタグの他にappletから呼び出すJavaScriptのFunction定義もこのHTML内に記述します。 もちろんJavaScriptを別ファイルで記述してこのHTMLファイルにインクルードしても結果は同じです。
[ サンプルプログラムの実行 ]サンプルプログラムを実行してみる場合は、下のボタンをクリックしてください。JavaScriptの実行と書かれたボタンを押すとJavaScriptのアラートダイアログを表示します。 ※サンプルプログラムは、別ウィンドウで実行されます。実行には時間がかかることがありますのでご注意ください。 [ サンプルプログラムの解説 ]アプレットからJavaScriptを実行するには、netscape.javascript.JSObjectを使います。netscape.javascript.JSObjectは、plugin.jarの中に含まれていますので コンパイル時にplugin.jarへのクラスパスを通しておく必要があります。JSObjectを利用するには、最初にJSObject.getWindow(applet)で JSObjectのインスタンスを取得します。(18行目)getWindowの引数には、appletクラスのインスタンスを渡します。このサンプルでは、自分自身(this)を 渡しています。取得したJSObjectのインスタンスからJSObject#call("JavaScript FunctionName",args[])でJavaScriptを実行します。(27行目) 第一引数にJavaScriptのFunction名を渡します。第2引数にJavaScriptのFunctionに渡す引数を配列で渡します。サンプルでは、testFuncというJavaScriptに記述したFunctionを引数なしで実行しています。■アプレットからのJavaScript実行(引数あり)[ サンプルプログラムのソースコード - Applet2JavaScript02.java - ]アプレットのソースコードになります。このプログラムからJavaScriptのalert関数を呼び出しています。
[ サンプルプログラムのソースコード - scriptsample02.html - ]
[ サンプルプログラムの実行 ]サンプルプログラムを実行してみる場合は、下のボタンをクリックしてください。テキストフィールドに何か文字列を入力してリターンキーを押すと入力した文字列がJavaScriptの警告 ダイアログに表示されます。 ※サンプルプログラムは、別ウィンドウで実行されます。実行には時間がかかることがありますのでご注意ください。 [ サンプルプログラムの解説 ]Applet2JavaScript01.javaでは、引数なしでJavaScriptの関数を呼んでいましたが、このサンプルでは、引数を指定しての呼び出しです。 もちろん引数を渡すには、JavaScript側の呼び出し関数が引数を受け取るようになっていないとだめです。 JSObjectのインスタンスからJSObject#call("JavaScript FunctionName",args[])でJavaScriptを実行するときに callメソッドの第2引数にJavaScriptのFunctionに渡す引数を配列で渡します。サンプルでは、alert関数にテキストフィールドに 入力した文字列を渡しています。 |
|
最終更新日:2019/02/13
2015-03-01からの訪問者数
2410 人 |