Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
JavaScript.EvaluateScript
Evaluate a string of JavaScript code.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
JavaScriptWebKit | 5.4 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
JavaScriptContext | The reference number of the javascript context. | $Context | |
Script | The script to evaluate. | ||
URL | The source URL for this script. A URL for the script's source file. Used by debuggers and when reporting exceptions. This parameter is informative only: it does not change the behavior of the script. |
Optional | |
startingLineNumber | An integer value specifying the script's starting line number in the file located at sourceURL. This is only used when reporting exceptions. The value is one-based, so the first line is line 1 and invalid values are clamped to 1. | 1 | Optional |
Result
Returns text or error.
Description
Evaluate a string of JavaScript code.See also WebView.RunJavaScript or WebView.Evaluate for use with web viewer.
See also JS.Evaluate and JS.EvaluateToString to run JavaScript cross-platform without web viewer.
Examples
Set variables and use them in the script:
Set Variable [ $js ; Value: MBS( "JavaScript.New" ) ]
Set Variable [ $r ; Value: MBS( "JavaScript.SetProperty"; $js; "FirstName"; "Joe" ) ]
Set Variable [ $r ; Value: MBS( "JavaScript.SetProperty"; $js; "LastName"; "Miller" ) ]
Set Variable [ $r ; Value: MBS( "JavaScript.EvaluateScript"; $js; "FirstName + ' ' + LastName;" ) ]
Show Custom Dialog [ "Result" ; $r ]
Set Variable [ $r ; Value: MBS( "JavaScript.Release"; $js ) ]
Evaluate in javascript the FileMaker get function:
Set Variable [ $js ; Value: MBS( "JavaScript.New" ) ]
Set Variable [ $r ; Value: MBS( "JavaScript.RegisterEvaluateFunction"; $js; "FMEvaluate" ) ]
Set Variable [ $r ; Value: MBS( "JavaScript.EvaluateScript"; $js; "FMEvaluate('Get(AccountName)') + ' from javascript'") ]
Show Custom Dialog [ "Result" ; $r ]
Set Variable [ $r ; Value: MBS( "JavaScript.Release"; $js ) ]
Defines and runs a function in JavaScript:
Let([
f = "
function makeCRCTable(){
var c;
var crcTable = [];
for(var n =0; n < 256; n++){
c = n;
for(var k =0; k < 8; k++){
c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
}
crcTable[n] = c;
}
return crcTable;
}
function crc32(str) {
var crcTable = crcTable || (crcTable = makeCRCTable());
var crc = 0 ^ (-1);
for (var i = 0; i < str.length; i++ ) {
crc = (crc >>> 8) ^ crcTable[(crc ^ str.charCodeAt(i)) & 0xFF];
}
return (crc ^ (-1)) >>> 0;
};
crc32(InputValue);";
j = MBS( "JavaScript.New" );
r = MBS( "JavaScript.SetProperty"; j; "InputValue"; "Hello World" );
r = MBS( "JavaScript.EvaluateScript"; j; f );
x = MBS( "JavaScript.Release"; j )
];r)
Use trimStart(), a feature from ECMAScript 2019:
Set Variable [ $js ; Value: MBS("JavaScript.New") ]
Set Variable [ $r ; Value: MBS("JavaScript.evaluateScript"; $js; "const greeting = ' Hello world! '; greeting.trimStart();") ]
Set Variable [ $r ; Value: MBS("JavaScript.Release"; $js) ]
See also
- JavaScript.New
- JavaScript.RegisterEvaluateFunction
- JavaScript.Release
- JavaScript.SetProperty
- JS.Evaluate
- JS.EvaluateToString
- WebView.Evaluate
- WebView.RunJavaScript
Example Databases
Blog Entries
This function checks for a license.
Created 5th November 2015, last changed 9th February 2023
