PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN

  • Use conditions
  • Calling WLanguage code from the Javascript code
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
<HTML Display control>.ExecuteJS (Function)
In french: <Champ d'affichage HTML>.ExécuteJS
Runs JavaScript code in the context of the Web page displayed by an HTML Display control.
Caution: The option "Forbid the execution of JavaScript scripts" must be unchecked in the "General" tab of the HTML Display control description window.
Example
JSCode is string = [
var now = new Date();
alert( 'Today is: ' + now);
]
HTM_MyHTMLControl.ExecuteJS(codeJS)
JSCode is string = [
var now = new Date();
now;
]
 
HTM_MyHTMLControl.ExecuteJS(codeJS, ResultJSExecution)
 
INTERNAL PROCEDURE ResultJSExecution(bSuccess is boolean, ReturnValue)
IF NOT bSuccess
Error(ErrorInfo())
RETURN
END
Info(ReturnValue)
END
Syntax
<Result> = <HTML Display control>.ExecuteJS(<JavaScript code> [, <WLanguage procedure>])
<Result>: Boolean
  • True if the Javascript code was transmitted for execution to the control,
  • False otherwise.
<HTML Display control>: Control name
Name of the HTML Display control on which the JavaScript script will be executed.
<JavaScript code>: Character string (with quotes)
JavaScript code to execute. This code is run in asynchronous mode. The result of the code execution can be retrieved via the <WLanguage procedure> parameter.
The value returned by the JavaScript code corresponds to the value of the expression found in the last line of code. Do not use "return". The expression to be retrieved must be a string.
<WLanguage procedure>: Procedure name
WLanguage procedure ("callback") used to find out the result of code execution. This procedure has the following format:
PROCEDURE <Procedure name>(bSuccess is boolean, ReturnValue is string)
This procedure is called once the JavaScript code has been executed. The parameters of this procedure are:
  • <bSuccess>:
    • True if the JavaScript code was successfully executed,
    • False if the execution of JavaScript code generated an error (e.g., error in the JavaScript code). In that case, to get the details of the error, use ErrorInfo.
      AndroidiPhone/iPad Remark:
      • Android A detailed error is returned.
      • iPhone/iPad A generic error is returned.
  • <ReturnValue> contains the value of the last expression of the JavaScript code (returned value).
Remarks
Android

Use conditions

This function is only available on devices running Android 4.4 or later (api level 19).
The procedure will not be called if the function is used with an earlier system version.
To determine the version of Android the application is running on, use SysAndroidVersion.

Calling WLanguage code from the Javascript code

You can call WLanguage code from a JavaScript code executed via <HTML Display control>.ExecuteJS or via the HTML code contained in the HTML Display control. The following operations must be performed:
  1. In the "General" tab of the HTML Display control, check "Allow the call to WLanguage from HTML code (JavaScript WL.Execute function)".
  2. In the HTML code of control, use WL.Execute to run a WLanguage procedure. The following syntax must be used:
    WL.Execute(<WLanguage procedure name>, <Parameters>)
    where:
    • <WLanguage procedure name> corresponds to the name of the procedure to be executed.
    • <Parameters> corresponds to a character string that will be passed to the procedure.
You can call WLanguage code from a JavaScript code executed via <HTML Display control>.ExecuteJS or via the HTML code contained in the HTML Display control. The following operations must be performed:
  1. In the "General" tab of the HTML Display control, check "Allow the call to WLanguage from HTML code (JavaScript WL.Execute function)".
  2. In the HTML code of control, use WL.Execute to run a WLanguage procedure. The following syntax must be used:
    WL.Execute(<WLanguage procedure name>, <Parameter 1>) [, ... [, <Parameter N>]]] )
    where:
    • <WLanguage procedure name> corresponds to the name of the procedure to be executed.
    • <Parameter N> corresponds to the different parameters to be passed to the procedure:
      • Number of parameters:
        • WindowsiPhone/iPad between 0 and N.
        • Android between 0 and 10.
      • Type of parameters:
        • WindowsiPhone/iPad The parameters of the WLanguage procedure will be passed according to their type: boolean, string, number, null.
        • Android The parameters of the WLanguage procedure will always be passed as strings.
Example:
  • WLanguage procedure
    PROCEDURE ProcFromJS(t)
    ToastDisplay("Called from JS: " + t)
  • Code of HTML control:
    s is string = [
    <html>
    <head>
    <title> A simple example
    </title>
    <script>
    function myFunction()
    {
    WL.Execute("ProcFromJS","titaa");
    }
    </script>
    </head>
    <body>
    <h1> This is an HTML page </h1>
    <p id="demo">A paragraph</p>
    <button type="button" onclick="myFunction()">Try</button>
    </body>
    </html>
    ]
    HTM_NoName1 = s
Related Examples:
WM HTML Dialog Cross-platform examples (WINDEV Mobile): WM HTML Dialog
[ + ] This example explains how to dialog with an HTML control.
It is using the WLanguage "ExecuteJS" function and the Javascript "WL.Execute" function.
Component: wd260obj.dll
Minimum version required
  • Version 23
This page is also available for…
Comments
Click [Add] to post a comment