PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Présentation
  • Champ d'une fenêtre, d'un état ou d'une page statique ou dynamique
  • Créer un champ HTML
  • Créer un champ HTML dans une fenêtre
  • Créer un champ HTML dans un état
  • Créer un champ HTML dans un état
  • Champ d'une fenêtre : Caractéristiques
  • Options de l'onglet "Général"
  • Conditions d'utilisation
  • Gestion des images locales
  • Option "Autoriser le zoom"
  • Option "Autoriser le zoom"
  • Champ d'un état : Caractéristiques
  • Fenêtre de description et programmation
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation

Champ d'une fenêtre, d'un état ou d'une page statique ou dynamique

Versions 16 et supérieures
Android Les champs HTML sont désormais disponibles pour les applications Android.
Universal Windows 10 App Les champs HTML sont disponibles pour les applications Windows Phone.
Nouveauté 16
Android Les champs HTML sont désormais disponibles pour les applications Android.
Universal Windows 10 App Les champs HTML sont disponibles pour les applications Windows Phone.
Android Les champs HTML sont désormais disponibles pour les applications Android.
Universal Windows 10 App Les champs HTML sont disponibles pour les applications Windows Phone.
Versions 17 et supérieures
iPhone/iPad Les champs HTML sont désormais disponibles pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Les champs HTML sont désormais disponibles pour les applications iPhone/iPad.
iPhone/iPad Les champs HTML sont désormais disponibles pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Les champs HTML sont désormais disponibles pour les applications en mode Windows Store apps.
Nouveauté 18
Universal Windows 10 App Les champs HTML sont désormais disponibles pour les applications en mode Windows Store apps.
Universal Windows 10 App Les champs HTML sont désormais disponibles pour les applications en mode Windows Store apps.
Le champ HTML peut être utilisé :
  • AndroidiPhone/iPadUniversal Windows 10 App Dans une fenêtre.
    Le champ HTML d'une fenêtre permet d'afficher une page HTML.
Créer un champ HTML
Pour créer un champ de type HTML :
  1. Sous l'éditeur de fenêtres ou de pages, cliquez sur l'icône Icône HTML (ou utilisez l'option de menu "Insertion .. Champ .. Champ Html").
  2. Cliquez dans la fenêtre ou dans la page à la position où le champ doit être créé. Le champ apparaît en création.
Pour afficher les caractéristiques du champ, sélectionnez l'option "Description" dans le menu contextuel du champ.
AndroidiPhone/iPadUniversal Windows 10 App

Créer un champ HTML dans une fenêtre

Pour créer un champ de type HTML dans une fenêtre :
  1. Sous le volet "Création", dans le groupe "Autres champs", cliquez sur "HTML".
  2. Cliquez dans la fenêtre à la position où le champ doit être créé. Le champ apparaît en création.
Pour afficher les caractéristiques du champ, sélectionnez l'option "Description" dans le menu contextuel du champ.
AndroidiPhone/iPadUniversal Windows 10 App
Champ d'une fenêtre : Caractéristiques

Options de l'onglet "Général"

L'onglet "Général" de la fenêtre de description du champ permet :
  • de saisir directement du code HTML ou l'adresse de la page HTML à afficher.
    Remarque : Si du code HTML est saisi, ce code doit obligatoirement être compris entre les balises <HTML> et </HTML>.
  • AndroidiPhone/iPad d'autoriser l'exécution des scripts. Cette option permet d'autoriser l'exécution des scripts appelés depuis le code HTML du champ.
    iPhone/iPad Cette option n'est pas prise en compte : l'exécution des scripts est toujours autorisée.
    Versions 23 et supérieures
    Si cette option est cochée, il est également possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s
    Nouveauté 23
    Si cette option est cochée, il est également possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s
    Si cette option est cochée, il est également possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s
    AndroidiPhone/iPad d'interdire l'exécution des scripts. Cette option permet d'interdire (ou d'autoriser) l'exécution des scripts appelés depuis le code HTML du champ.
    iPhone/iPad Cette option n'est pas prise en compte : l'exécution des scripts est toujours autorisée.
    Versions 23 et supérieures
    Si cette option est décochée, il est possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s
    Nouveauté 23
    Si cette option est décochée, il est possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s
    Si cette option est décochée, il est possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s

Conditions d'utilisation

Attention : Pour utiliser un champ HTML :
  • AndroidiPhone/iPadUniversal Windows 10 App dans une application en mode simulateur, il est nécessaire d'installer Internet Explorer 4 ou supérieure (version 11 conseillée) sur le poste de développement.
  • Versions 21 et supérieures
    iPhone/iPad dans une application iOS 9.0 (et supérieur), il est nécessaire de respecter les options de sécurité. Par défaut, le champ HTML permet d'accéder uniquement aux sites utilisant une connexion HTTPS respectant les préconisations de la société Apple. Pour accéder à d'autres sites (HTTP par exemple), il est nécessaire soit de fournir la liste des domaines correspondants, soit de désactiver la sécurité pour tous les domaines. Ces manipulations sont faites dans l'assistant de création d'une application iOS. Pour plus de détails, consultez Générer une application iOS.
    Nouveauté 21
    iPhone/iPad dans une application iOS 9.0 (et supérieur), il est nécessaire de respecter les options de sécurité. Par défaut, le champ HTML permet d'accéder uniquement aux sites utilisant une connexion HTTPS respectant les préconisations de la société Apple. Pour accéder à d'autres sites (HTTP par exemple), il est nécessaire soit de fournir la liste des domaines correspondants, soit de désactiver la sécurité pour tous les domaines. Ces manipulations sont faites dans l'assistant de création d'une application iOS. Pour plus de détails, consultez Générer une application iOS.
    iPhone/iPad dans une application iOS 9.0 (et supérieur), il est nécessaire de respecter les options de sécurité. Par défaut, le champ HTML permet d'accéder uniquement aux sites utilisant une connexion HTTPS respectant les préconisations de la société Apple. Pour accéder à d'autres sites (HTTP par exemple), il est nécessaire soit de fournir la liste des domaines correspondants, soit de désactiver la sécurité pour tous les domaines. Ces manipulations sont faites dans l'assistant de création d'une application iOS. Pour plus de détails, consultez Générer une application iOS.
Versions 23 et supérieures
iPhone/iPad

Gestion des images locales

Lors du passage à la version 23, les images locales présentes dans un champ HTML peuvent ne plus être affichées. En effet, pour des raisons de sécurité, le chargement d'images locales présentes dans le répertoire "Documents" n'est pas autorisé. Il est conseillé d'utiliser la fonction fRepTemp plutôt que la fonction fRepRessource.
Nouveauté 23
iPhone/iPad

Gestion des images locales

Lors du passage à la version 23, les images locales présentes dans un champ HTML peuvent ne plus être affichées. En effet, pour des raisons de sécurité, le chargement d'images locales présentes dans le répertoire "Documents" n'est pas autorisé. Il est conseillé d'utiliser la fonction fRepTemp plutôt que la fonction fRepRessource.
iPhone/iPad

Gestion des images locales

Lors du passage à la version 23, les images locales présentes dans un champ HTML peuvent ne plus être affichées. En effet, pour des raisons de sécurité, le chargement d'images locales présentes dans le répertoire "Documents" n'est pas autorisé. Il est conseillé d'utiliser la fonction fRepTemp plutôt que la fonction fRepRessource.
Versions 17 et supérieures
Android

Option "Autoriser le zoom"

L'option "Autoriser le zoom" (onglet "IHM" de la fenêtre de description du champ) permet à l'utilisateur d'utiliser les options de zoom dans le champ HTML.
Nouveauté 17
Android

Option "Autoriser le zoom"

L'option "Autoriser le zoom" (onglet "IHM" de la fenêtre de description du champ) permet à l'utilisateur d'utiliser les options de zoom dans le champ HTML.
Android

Option "Autoriser le zoom"

L'option "Autoriser le zoom" (onglet "IHM" de la fenêtre de description du champ) permet à l'utilisateur d'utiliser les options de zoom dans le champ HTML.
AndroidiPhone/iPad

Option "Autoriser le zoom"

L'option "Autoriser le zoom" (onglet "IHM" de la fenêtre de description du champ) :
  • permet à l'utilisateur de modifier le zoom en écartant/resserrant les doigts.
  • Android affiche des boutons de zoom.
Android Pour jouer des vidéos HTML 5 dans un champ HTML :
  1. Cochez l'option "Autoriser l'exécution des scripts" (onglet "Général" de la fenêtre de description du champ).
  2. Activez l'accélération matériel sur la fenêtre. Pour cela, il faut éditer le manifeste de l'application.
    • Dans l'assistant de génération, affichez l'étape "Configuration".
    • Cliquez sur "Configuration avancée".
    • Cliquer sur "Editer le manifeste".
    • Déroulez le noeud "application".
    • Sélectionnez le noeud "activity" correspondant à la fenêtre contenant le champ HTML.
    • Ajoutez un attribut à ce noeud en lui donnant comme nom "android:hardwareAccelerated" et comme valeur "true".
    • Validez les modifications
    • Terminez l'assistant.
Liste des exemples associés :
Le champ HTML Exemples unitaires (WINDEV) : Le champ HTML
[ + ] Utilisation d'un champ HTML
Propriété ClasseHTML Exemples unitaires (WEBDEV) : Propriété ClasseHTML
[ + ] La propriété ..ClasseHTML permet de lire et de modifier la valeur de l'attribut HTML "class" du champ.
La valeur de l'attribut HTML "class" permet, entre autres, de sélectionner les styles CSS appliqués sur le champ.
WM Dialogue HTML Exemples multiplateforme (WINDEV Mobile) : WM Dialogue HTML
[ + ] Cet exemple vous montre comment dialoguer avec un champ HTML.
Il utilise la fonction WLangage "ExecuteJS" et la fonction Javascript "WL.Execute".
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Champ HTML et GFi
Pour information, le champ HTML n'est pas impacté par le GFI, cad qu'il reste visible alors que la fenêtre dans laquelle il se trouve est grisée.
Laurent
14 fév. 2019
Affectation adresse par programmation sur Android
Contrairement à IOS, il est nécessaire sous Android de préfixer le chemin "file://" sinon "http://" est ajouté automatiquement devant le chemin.

Ce qui donne donc pour mon exemple : "file:///data/data/com.masociete.application/files/html/index.html" (triple "/")
Nicolas COMPAIN
01 sep. 2016