Visor HTML

Control de visualización que permite incrustar una página web dentro de un formulario.

Este control usa un navegador basado en motor Chromium versión 56. Para crearlo pulsar la opción "Visor html" de la barra de controles de información del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.

Sus propiedades son:

Identificador

Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.

Nombre

Etiqueta alfanumérica que servirá como descriptor del control.

Estilos

Podemos definir el estilo privado que limita el acceso del usuario final al sub-objeto desde puntos donde no se haya programado el acceso al mismo.

Comentarios

Esta propiedad nos permite documentar el uso del control.

Tipo

Muestra el tipo de control de que se trata. En este caso es visor HTML, aunque podremos modificarlo. Si modificamos el tipo de control perderemos las propiedades específicas de éste.

Ancho

Alto

Posición X

Posición Y

Tooltip

Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.

Seleccionable con Tab

Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.

Condición visible

Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad.

Condición activo

Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad.

Borde

Permite establecer el tipo de borde del control. Los valores posibles son:

  • Ninguno.

  • Caja a nivel.

  • Caja hundido.

  • Caja a elevado.

  • Panel a nivel.

  • Panel hundido.

  • Panel elevado.

  • Con estilo a nivel.

  • Con estilo hundido.

  • Con estilo elevado.

Tamaño del borde

Contenido

Permite establecer el contenido a editar en el control, podrá tratarse tanto de una URL (Ejemplo: http://velneo.es ) como de código html. Éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad.

Si el contenido es una URL, para asegurar un correcto funcionamiento, en la fórmula que establezcamos para componer la URL se recomienda anteponer e l esquema que proceda. Es decir, si se trata de una página web, anteponer el esquema http:// y, si se trata de la senda de un fichero en disco, anteponer el esquema file:///. Ejemplos:

"https://velneo.com"

"file:///c:/imagenes/foto.png"

No es recomendable usar un control de este tipo cuando su contenido sea URL en un formulario de salida de un casillero, ya que un casillero es solamente cargado al inicio. Por lo que cargará solamente los datos leídos directamente de la ficha pero no las urls.

Fondo opaco

Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo.

Opciones

En esta propiedad indicaremos al sistema qué es lo que se va a mostrar en este control. Los valores posibles son:

Contenido=Url

El contenido del control será una URL (Ejemplo: http://velneo.es especificada en la propiedad contenido. Esta opción podría ser útil por ejemplo para poder incrustar la página web de un cliente en su ficha.

Contenido=Texto Html

La página será generada en base al código html que se haya establecido en la propiedad contenido. Esta opción podría ser útil por ejemplo para poder previsualizar una página si programamos un gestor de contenidos web.

Barra de herramientas

Esta propiedad permite mostrar u ocultar una barra de navegación dentro del control. Si al control le activamos la barra de herramientas, en tiempo de ejecución podremos configurar las opciones de privacidad del visor:

Ancho en layout

Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:

  • Por defecto: asume el comportamiento que tiene establecido el tipo de control en el sistema. Este tipo de control, por defecto, crecerá en anchura proporcionalmente a la anchura del formulario.

  • Fijo: el ancho del control será fijo, no variará para adaptarse a la anchura del formulario.

  • Proporcional: el ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.

Alto en layout

Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:

  • Por defecto: asume el comportamiento que tiene establecido el tipo de control en el sistema. Este tipo de control, por defecto, no crece en altura proporcionalmente a la altura del formulario.

  • Fijo: la altura del control será fija, no variará para adaptarse a la altura del formulario.

  • Proporcional: la altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout. Este es el valor recomendado para este tipo de control.

Tipo de menú de contexto

Esta propiedad no es funcional en la versión actual.

Permite asignar un menú de contexto al control. Los valores posibles son:

  • Ninguno: en ejecución el control carecerá de menú de contexto.

  • Por defecto: en ejecución se usará el menú de contexto por defecto del control. No todos los controles por defecto tienen menú de contexto.

  • Personalizado: permite indicar que el control usará un objeto menú declarado en el proyecto de aplicación o en cualquier proyecto heredado.

Esta propiedad no es funcional en la versión actual.

Este parámetro solamente estará disponible si en el parámetro anterior hemos seleccionado el valor personalizado. En él seleccionaremos el objeto menú declarado en el proyecto de aplicación o en cualquier proyecto heredado que queremos usar como menú de contexto del control.

Uso de SSL

Para que este control soporte protocolo https es necesario que en la máquina donde se ejecute Velneo vClient tenga instalado OpenSSL. En Windows las librerías necesarias (ssleay32.dll y libeay32.dll) se instalan junto con Velneo vClient, en el resto de los sistemas operativos se hace uso de las del propio sistema operativo.

Uso de proxys

El control visor html podrá salir a Internet a través de un proxy. El visor html tomará la configuración del proxy de la configuración del sistema. Esto es válido para Windows y macOS, que lo tomarán del sistema y para Linux que lo tomará del sistema de ventanas correspondiente KDE o GNome.

Caché

Este control genera una caché en disco. Su localización depende de la plataforma.

Windows:

C:/usuarios/NOMBRE_USUARIO/AppData/Local/Velneo/vClient/cache/QtWebEngine/Default/Cache

Linux:

~/.cache/Velneo/vClient/QtWebEngine/Default/Cache

macOS:

~/Library/Caches/Velneo/vClient/QtWebEngine/Default/Cache

Notas

Desde el menú de contexto de este control podremos tanto imprimir su contenido como guardarlo en disco en formato pdf.

Si cargamos en este control una página que solicita permiso de uso de features como micrófono o cámara del dispositivo, guardará la selección del usuario para no volver a preguntar.

Si el usuario no permite el acceso al dispositivo, no se guardará nada y la próxima vez que se cargue la misma página en el control, volverá a pedir permiso.

Esta configuración se guardará por dominio, además de por usuario y aplicación.

No debemos usar este control cuando el contenido sea URL y el formulario sea el formulario de salida de un casillero. El motivo es que el casillero es cargado solamente en el inicio, lee los datos de la ficha y crea la celda correspondiente en el casillero, pero no llegará a cargar las urls.

Este control no visualiza archivos pdf, solamente los descarga.

En sistemas operativos Android e iOS, no es funcional este control por motivos de licencia. En ese caso debemos usar el navegador en QML que usa el navegador del sistema.

En este control los applets de Java no son soportados.

No está disponible la opción de ampliar o disminuir el tipo de letra.

No soporte plugins de NPAPI.

Si ejecutamos vClient vía RDP (Terminal Server, por ejemplo), para un correcto funcionamiento del control no se debe acceder al escritorio remoto con una profundidad de color inferior a 32 bits.

Con este control no son funcionales las señales de: gana foco, pierde foco, ratón: botón pulsado, ratón: botón soltado, ratón: botón doble clic, ratón: movimiento, tecla pulsada, y tecla soltada.

En el caso de que al visor se le pase directamente el código html, no se debe pasar código html con tamaño mayor de 512 Kb. El motivo es que el sistema, para establecer el html, internamente lo que hace es pasarlo como data de una url y una url tiene una limitación de 2MB. En el caso de que por programación queremos saber cuál será el tamaño de la URL que va a generar un código html concreto, lo que podemos hacer es usar el método _encodeURIComponent _de JavaScript y obtener su longitud. Por ejemplo, en un formulario tenemos una variable local llamada COD_HTML que contiene el código html a cargar en el control. Para comprobar su tamaño podremos hacer lo siguiente:

decodeURIComponent(theRegister.varToString("COD_HTML")).lenght;

Para evitar esta limitación lo que se recomienda es no usar código html como contenido del control y en su lugar guardar el código en un fichero en disco y asignarlo como URL al control.

Última actualización