Utilizar un área web fuera de la pantalla

Traducido automáticamente de Deepl

¿Necesitas cargar páginas web, extraer metadatos o generar imágenes a partir del contenido de las páginas de un servidor headless? Si su respuesta es «sí», entonces está de suerte porque 4D v18 R3 lo hace posible. Ahora puede crear un área web fuera de la pantalla con el comando WA Run offscreen area comando.

4D le permite utilizar un área web en modo offscreen. El IDH que aparece a continuación le muestra cómo utilizarlo con una API de JavaScript como un gráfico de Google:

HDI área web fuera de pantalla

El comando WA Run offscreen area crea un área web en la memoria. Necesita pasar toda la información útil para el área web en parámetro, como por ejemplo

  • La URL a cargar
  • El nombre del área
  • El método de callback llamado cuando un evento es lanzado por el área web

Por ejemplo, si quiere obtener el título de la última entrada del blog 4D, necesita cargar la «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)

Y utilizar este código en el método de devolución de llamada, 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

Para facilitar la depuración con un área web fuera de pantalla, hemos añadido un nuevo comando: WA OPEN WEB INSPECTOR. Abre el inspector web y permite verificar si la página se ha cargado correctamente o si su código JavaScript arroja un error.

Puedes consultar la documentación para ver en detalle lo que puedes hacer con estos nuevos comandos.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.