versión 11.2
Los comandos de este tema están dedicados a la gestión programada de objetos de formulario de tipo Web Area.
Las áreas Web pueden mostrar todo tipo de contenido Web al interior mismo de su entorno 4D: las páginas HTML con contenidos estáticos o dinámicos, archivos, imágenes, Javascript, Flash, PDF,etc. e incluso documentos MS (bajo Windows cuando MS Office está instalado). La siguiente imagen muestra un área Web incluida en un formulario y muestra una página HTML:
Además de los comandos del tema Web Area, varias acciones y eventos de formularios dedicados permiten al desarrollador controlar el funcionamiento de las áreas Web. Pueden utilizarse variables específicas para intercambiar información entre el área y el entorno 4D. Estas herramientas pueden utilizarse para desarrollar un navegador Web básico en sus formularios.
Crear y direccionar un área Web
La creación de un área Web se efectúa con la ayuda de una variante del botón Area de plug-in/Sub formulario de la barra de objetos del editor de formularios de 4D (para mayor información, consulte el manual de Diseño).
Como los otros objetos dinámicos del formulario, un área Web dispone de un nombre de objeto y de un nombre de variable, que pueden ser utilizados para manejarla por programación. La variable estándar asociada al objeto área Web es de tipo Texto. Específicamente, puede utilizar los comandos SET VISIBLE y MOVE OBJECT con las áreas Web.
Nota: la variable Texto asociada al área Web no contiene una referencia por lo tanto no puede pasarse como parámetro a un método. Por ejemplo, para un área Web llamada MiArea, no puede utilizarse el siguiente código:
Mimetodo(MiArea)
Código para Mimetodo:
WA REFRESH CURRENT URL($1) `No funciona
Para este tipo de programación, no necesitará utilizar punteros:
Mimetodo(->MiArea)
Código de Mimetodo:
WA REFRESH CURRENT URL($1->) `Funciona
Modo compositing (Mac OS)
Para poder mostrarlas en Mac OS, las áreas Web deben estar incluidas en las ventanas diseñadas en "modo compositing." Este modo interno de gestión de ventanas bajo Mac OS no se utiliza en todas las ventanas de 4D.
En 4D v11 SQL, las ventanas diseñadas en "modo compositing" son:
todas las ventanas generadas por el comando Open form window;
las ventanas generadas por los comandos Open window y Open form window que tengan el tipo "Compositing Mode " (constante de valor 4096);
en modo Diseño, las ventanas muestran un formulario proyecto.
Nota: ciertos objetos de antigua generación no son compatibles con el "compositing mode" (por ejemplo las áreas 4D Chart). Si son mostrados en ventanas en "compositing mode", estos objetos no funcionarán.
Gestión de variables asociadas
Además de las variables de objetos estándar (ver párrafo anterior), dos variables específicas son asociadas automáticamente a cada área Web:
La variable "URL"
La variable "Progression".
Por defecto, estas variables son llamadas respectivamente, areaName_url y areaName_progress. Puede modificar estos nombres si lo así lo prefiere. Estas variables son accesibles en la Lista de propiedades:
Variable URL
La variable "URL" es de tipo cadena. Contiene la URL cargada o que está siendo cargada por el área Web asociada.
La asociación entre la variable y el área Web funciona en ambas direcciones:
Si el usuario asigna un nuevo URL a la variable, esta URL es cargada automáticamente por el área Web.
Toda navegación efectuada al interior del área Web actualizará automáticamente el contenido de la variable.
Esquemáticamente, esta variable funciona como el área de dirección de un navegador Web. Puede representarla por un área de texto situada sobre el área Web.
Variable URL y comando WA OPEN URL
La variable URL produce los mismos efectos que el comando WA OPEN URL. Sin embargo se deben tener en cuenta las siguientes diferencias:
- para acceder a los documentos, esta variable sólo acepta los URLs conformes a los RFC ("file://c:/Mi%20Doc") y no las rutas de acceso sistema ("c:\MiDoc"). El comando WA OPEN URL acepta las dos notaciones.
- si la variable URL contiene una cadena vacía, el área Web no intenta cargar el URL. El comando WA OPEN URL genera un error en este caso.
- si la variable URL no contiene un protocolo (http, mailto, file, etc.), el área Web añade "http://", que no es el caso para el comando WA OPEN URL.
- cuando el área Web no se muestra en el formulario (cuando se ubica en otra página del formulario), la ejecución del comando WA OPEN URL no tiene efecto, mientras que la asignación de un valor a la variable URL puede utilizarse para actualizar el URL actual.
Variable Progression
"Progression" es una variable de tipo Entero largo. Contiene un valor entre 0 y 100, representa el porcentaje de carga completo de la página mostrada en el área Web.
Esta variable es actualizada automáticamente por 4D. No es posible modificarla manualmente.
Eventos formulario
Los eventos formulario específicos están destinados a la gestión programada de áreas Web, particularmente a la activación de enlaces:
On Begin URL Loading
On URL Resource Loading
On End URL Loading
On URL Loading Error
On URL Filtering
On Open External Link
On Window Opening Denied
Además, las área Web soporta los siguientes eventos formulario genéricos :
On Load
On Unload
On Getting Focus
On Losing Focus
On Drag Over
On Drop
On Begin Drag Over
Para mayor información sobre estos eventos, consulte la descripción del comando Form event.
Notas sobre uso de áreas Web
Interfaz usuario
Durante la ejecución del formulario, el usuario dispone de las funciones de interfaz estándar de los navegadores en el área Web, lo cual permite la interacción con las otras áreas del formulario:
comandos del menú Edición: cuando el área Web tiene el foco, los comandos del menú Edición permiten efectuar acciones como copiar, pegar, seleccionar todo, etc., de acuerdo a la selección.
menú contextual: es posible asociar un menú contextual estándar al área Web vía la lista de propiedades. La visualización de este menú contextual puede controlarse utilizando el comando WA SET PREFERENCE).
arrastrar y soltar: el usuario puede arrastrar y soltar texto, imágenes y documentos dentro del área Web o entre un área Web y los objetos de los formularios 4D, en función de las propiedades de los objetos 4D.
Documentos MS Office (Windows)
Bajo Windows, las áreas Web pueden soportar la visualización y la modificación de los documentos Microsoft Office (cuando Microsoft Office está instalado en el equipo). En particular, los documentos Word, Excel y Powerpoint (extensiones .doc, .xls y .ppt) pueden ser manejados. El formato XML MS Office también es soportado.
Nota: MS Office 2007 no permite por defecto la visualización de documentos en un navegador Web; siempre están abiertos en una nueva ventana. Puede modificar este funcionamiento utilizando las instrucciones que se encuentran en esta dirección: http://support.microsoft.com/kb/162059/en-us
Bajo Windows, las áreas Web pueden utilizarse para mostrar las carpetas locales o externas vía el protocolo ftp:// o vía las rutas de acceso de red (\\miservidor\mivolumen).
Conflicto área Web y servidor Web (Windows)
Bajo Windows, no es recomendable acceder vía un área Web al servidor Web de la aplicación 4D que contiene el área porque esta configuración puede provocar un conflicto que paralice la aplicación. Por supuesto, un 4D remoto puede acceder al servidor Web del 4D Server, pero no a su propio servidor Web.
Inserción del protocolo (Mac OS)
Los URLs administrados por programación en áreas Web bajo Mac OS deben comenzar por el protocolo. Por ejemplo, debe pasar la cadena "http://www.misitio.com" y no únicamente "www.misitio.com".