Home Cooker Classes Others Rice CookerGX
Classes  >  document  >  InvokeJS(string, anyClass jsArgument, ...)
document クラス : InvokeJS(string, anyClass jsArgument, ...) メソッド

説明

現在のドキュメントに読み込まれている、javascript関数を実行します。

構文

browserInstance.InvokeJS(string jsFuncName, anyClass jsArgument, ...)

引数

クラス名前説明
stringjsFuncNamejavascriptの関数名。
任意のクラスjsArgumentjavascriptの関数へ渡す引数。任意の数の引数を渡せることに注意してください。

返り値

クラス説明
proxyjavascript関数からの返り値。

サンプルコード

document d = new document();

int argument1 = 1;

int argument2 = 2;

proxy returnValue = d.InvokeJS("javascript関数名", argument1, argument2);

注意

System.Windows.Forms.HtmlDocument.InvokeScript(String,Object[])のラッパーです。


javascript関数名について


以下のようなjavascriptがdocumentに読み込まれているとします。


function testJS() {alert('hello world!');}


上記のjavascriptを呼び出すには、次のように記述します。


// dはdocument型のインスタンス.

d.InvokeJS("testJS");// 'hello world!'が表示される。


InvokeJSに渡すjavascript関数名に括弧部分は含まれないことに注意してください。


javascript関数の引数について


上記の例で呼び出したjavascriptのtestJS関数は、引数が無いのでjavascript関数名だけをInvokeJSメソッドに渡しています。

引数を持つjavascript関数を呼び出す方法を以下に例示します。

次のようなjavascriptがdocumentに読み込まれているとします。


function testJS2(stringArg1, stringArg2) { alert( stringArg1 + stringArg2 ); }


testJS2を呼び出すには、次のように記述します。


// dはdocument型のインスタンス.

d.InvokeJS("testJS2", "hello ", "world!");// 'hello world!'が表示される。


javascript関数に渡す引数は、InvokeJSメソッドの二番目以降の引数として、必要な数だけ渡すことが出来ます。つまり、InvokeJSメソッドは、可変引数メソッドです。

javascript関数に渡すことが出来るクラスは、int、long、real、bool、string、elementクラスです。その他のクラスは、渡すことが出来ません。


javascriptからの返り値について


javascriptからの返り値は、該当する型のRiceのインスタンスに変換された後、proxy型に格納されて返されます。


・int型の範囲内の整数として評価可能な時は、返り値はint型として格納されます。

・int型の範囲を超えた整数として評価可能な時は、返り値はreal型として格納されます。

・実数として評価可能な時は、返り値はreal型として格納されます。

・文字列として評価可能な時は、返り値はstring型として格納されます。

・Booleanとして評価可能な時は、返り値はbool型として格納されます。

・それ以外の何かに評価可能な場合(返り値が無い場合も含む)は、何も格納されていないproxyl型が返されます。

参照リンク

Copyright © Rice All rights reserved.