Utiliser une zone web hors écran

Traduit automatiquement de Deepl

Avez-vous besoin de charger des pages web, d’extraire des métadonnées ou de générer des images à partir du contenu de pages sur un serveur sans tête ? Si vous avez répondu « oui », alors vous avez de la chance car 4D v18 R3 rend cela possible ! Vous pouvez désormais créer une zone web hors écran avec la commande WA Run offscreen area pour créer une zone web hors écran.

4D vous permet d’utiliser une zone web en mode hors écran. L’IDH ci-dessous vous montre comment l’utiliser avec une API JavaScript comme un graphique Google :

Zone web hors écran de l’IDH

La commande WA Run offscreen area crée une zone web en mémoire. Vous devez passer toutes les informations utiles pour la zone web en paramètre, telles que :

  • L’URL à charger
  • Le nom de la zone
  • La méthode de rappel appelée lorsqu’un événement est déclenché par la zone Web.

Par exemple, si vous souhaitez obtenir le titre du dernier article du blog 4D, vous devez charger l’URL « https://blog.4d.com ». URL :

$params:=New object
// url of the html file with the js function to use
$params .url:= "https://blog.4d.com"

// Add a callback method called on event
$params .onEvent:=Formula(GetBlogTitle )

// create offscreen web area according to $params
$title :=WA Run offscreen area($params)

Et utilisez ce code dans la méthode de rappel, GetBlogTitle:

If (FORM Event.code=On End URL Loading)
$js := "document.getElementsByTagName('h2')[1].getElementsByTagName('a')[0].innerHTML"
This .result:=WA Evaluate JavaScript(* ;This.area;$js)
End if

Pour faciliter le débogage avec une zone web hors écran, nous avons ajouté une nouvelle commande : WA OPEN WEB INSPECTOR. Elle ouvre l’inspecteur Web et vous permet de vérifier si la page est correctement chargée ou si votre code JavaScript génère une erreur.

Vous pouvez vous référer à la documentation pour voir en détail ce que vous pouvez faire avec ces nouvelles commandes.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.