4D v14.3WA Evaluate JavaScript |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
WA Evaluate JavaScript
|
WA Evaluate JavaScript ( {* ;} object ; jsCode {; type} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
* | 演算子 |
![]() |
指定時, objectはオブジェクト名 (文字列) 省略時, objectは変数 | |||||
object | フォームオブジェクト |
![]() |
オブジェクト名 (* 指定時) または 変数 (* 省略時) | |||||
jsCode | 文字 |
![]() |
JavaScriptコード | |||||
type | 倍長整数 |
![]() |
Type into which to convert result | |||||
戻り値 | Object, テキスト, ポインター, 実数, 日付, 時間 |
![]() |
実行結果 | |||||
WA Evaluate JavaScript コマンドは、* と object 引数で指定したWebエリアで、jsCodeに渡されたJavaScriptコードを実行し、結果を戻します。
デフォルトでは、コマンドは値を文字列として返します。任意の type 引数を用いることによって、戻ってくる値の型を指定することができます。使用できる定数は "Field and Variable Types" テーマ内にある以下の一覧の通りです。
定数 | 型 | 値 |
Is Boolean | 倍長整数 | 6 |
Is date | 倍長整数 | 4 |
Is integer | 倍長整数 | 8 |
Is integer 64 bits | 倍長整数 | 25 |
Is JSON null | 倍長整数 | 255 |
Is LongInt | 倍長整数 | 9 |
Is object | 倍長整数 | 38 |
Is real | 倍長整数 | 1 |
Is string var | 倍長整数 | 24 |
Is text | 倍長整数 | 2 |
Is time | 倍長整数 | 11 |
Object array | 倍長整数 | 39 |
重要: 複雑な型(オブジェクト)の結果を扱うことが出来るのは、Webエリアが統合Web Kitをレンダリングエンジンとして使用している場合に限られます。
この例題のJavaScriptコードは、履歴中前のURLを表示します:
$result:=WA Execute JavaScript(MyWArea;"history.back()")
以下に返ってきた結果の変換を含む例を紹介します。
HTML ファイル内にあるJavaScriptファンクションの例:
<!DOCTYPE html> <html> <head> <script> function evalLong(){ return 123; } function evalText(){ return "456"; } function evalObject(){ return {a:1,b:"hello world"}; } function evalDate(){ return new Date(); } </script> </head> <body> TEST PAGE </body> </html>
4Dフォームメソッドでは以下の様に記述します:
If(Form event=On Load)
WA OPEN URL(*;"Web Area";"C:\\myDatabase\\index.html")
End if
その後、4DからのJavaScriptコードを以下の様に評価します:
$Eval1:=WA Evaluate JavaScript(*;"Web Area";"evalLong()";Is LongInt))
//$Eval1 = 123
//$Eval1 = 型が省略されていた場合は"123"
$Eval2:=WA Evaluate JavaScript(*;"Web Area";"evalText()";Is string var)
//$Eval2 = "456"
$Eval3:=WA Evaluate JavaScript(*;"Web Area";"evalObject()";Is object)
//$Eval3 = {"a":1,"b":"hello world"}
$Eval4:=WA Evaluate JavaScript(*;"Web Area";"evalDate()";Is date)
// $Eval4 = 06/21/13
// $Eval4 = 型が省略されていた場合は"2013-06-21T14:45:09.694Z"
プロダクト: 4D
テーマ: Webエリア
番号:
1029
初出: 4D v11 SQL Release 2
変更: 4D v14
名称変更: 4D v14
WA EXECUTE JAVASCRIPT FUNCTION
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)
Inherited from : WA Execute JavaScript ( 4D v11 SQL Release 6)