Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
WA Evaluate JavaScript
|
WA Evaluate JavaScript ( {* ;} Objekt ; jsCode {; Typ} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
* | Operator |
![]() |
Mit * ist Objekt ein Objektname (String), ohne * ist Objekt eine Variable | |||||
Objekt | Formularobjekt |
![]() |
Objektname (mit *) oder Variable (ohne *) | |||||
jsCode | String |
![]() |
JavaScript Code | |||||
Typ | Lange Ganzzahl |
![]() |
Ergebnis in anderen Typ konvertieren | |||||
Funktionsergebnis | Datum, Objekt, Zeiger, Zahl, Text, Zeit |
![]() |
Ergebnis der Ausführung | |||||
Die Funktion WA Evaluate JavaScript führt im Web Bereich, definiert durch die Parameter * und Objekt, den in jsCode übergebenen JavaScript Code aus und gibt das Ergebnis zurück.
Sie muss nach dem Laden der Seite aufgerufen werden (das Formularereignis On End URL Loading muss generiert werden).
Standardmäßig gibt sie Werte als String zurück. Mit dem optionalen Parameter Typ können Sie einen anderen Typ definieren. Dafür können Sie eine der nachfolgenden Konstanten unter dem Thema Feld und Variablentypen verwenden:
Konstante | Typ | Wert |
Is Boolean | Lange Ganzzahl | 6 |
Is collection | Lange Ganzzahl | 42 |
Is date | Lange Ganzzahl | 4 |
Is longint | Lange Ganzzahl | 9 |
Is object | Lange Ganzzahl | 38 |
Is real | Lange Ganzzahl | 1 |
Is text | Lange Ganzzahl | 2 |
Is time | Lange Ganzzahl | 11 |
Warnung: Die Verwendung dieses Befehls zum direkten Aufruf einer JavaScript-Funktion, die einen Dialog anzeigt (alert(), print()...), wird nicht empfohlen, da der User nicht mit dem Web Area interagieren kann, während der 4D Code ausgeführt wird. Wenn Sie eine solche Schnittstelle implementieren müssen, können Sie zum Beispiel setTimeout(function(){alert();}, 50)) aufrufen, um die Ausführung des 4D Codes zu beenden und eine Interaktion des Users zu ermöglichen.
Der folgende JavaScript Code bewirkt die Anzeige des vorigen URL:
$result:=WA Evaluate JavaScript(MyWArea;"history.back()")
Dieses Beispiel zeigt einige Bewertungen mit Konvertierung der empfangenen Werte.
In einer HTML Datei gesetzte JavaScript Funktionen:
<!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>
In der 4D Formularmethode schreiben Sie:
If(Form event code=On Load)
WA OPEN URL(*;"Web Area";"C:\\myDatabase\\index.html")
End if
Sie können dann den JavaScript Code von 4D aus ausführen:
$Eval1:=WA Evaluate JavaScript(*;"Web Area";"evalLong()";Is longint)
//$Eval1 = 123
//$Eval1 = "123" wenn Typ weggelassen
$Eval2:=WA Evaluate JavaScript(*;"Web Area";"evalText()";Is text)
//$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" wenn Typ weggelassen
Produkt: 4D
Thema: Web Area
Nummer:
1029
Erstellt: 4D v11 SQL Release 2
Geändert: 4D v14
Umbenannt: 4D v14 (WA Execute JavaScript)
Geändert: 4D v16 R4
4D Programmiersprache ( 4D v20 R7)