AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Conceptos WEBDEV / Parte 4 - Conceptos avanzados
  • Presentación
  • Se pueden utilizar dos métodos para gestionar el botón "Back" del navegador
  • Ejemplo de desincronización
  • Impedir el uso del botón "Back"
  • Modo de funcionamiento
  • Implementación
  • Gestión de la sincronización
  • Presentación
  • Sincronización de Default
  • Sincronización mediante programación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
14. Manejando el botón "Back" en la práctica
Página anteriorTabla de contenidoPágina siguiente
Presentación
El botón "Atrás" del navegador permite a los usuarios de la Web mostrar las páginas que ya han sido visitadas.
En un sitio WEBDEV en modo Sesión, cada página HTML que se muestra en el navegador es associated con un contexto de página, que se encuentra en el servidor. Cada acción realizada en una página mostrada por el navegador debe desencadenar una acción idéntica en el contexto de página correspondiente que se encuentra en el servidor.
Sin embargo, el botón "Atrás" del navegador se utiliza para realizar una acción sólo en el navegador.: la página mostrada en el navegador y su contexto encontrado en el servidor puede ser desincronizada cuando se utiliza el botón "Atrás" del navegador.

Se pueden utilizar dos métodos para gestionar el botón "Back" del navegador

Para evitar problemas de falta de sincronización entre las páginas mostradas en el navegador y los contextos correspondientes encontrados en el servidor, WEBDEV propone dos métodos para gestionar la tecla "Back" del navegador:
  • Solución 1: Evite utilizar el botón "Atrás" del navegador para volver a esta página..
    Si se utiliza el botón "Atrás" del navegador para mostrar la página anterior, esta acción no tendrá ningún efecto..
    Para obtener más información, consulte: Evite utilizar el botón "Atrás" del navegador.
  • Solución 2: Gestionar la sincronización (solución Default)
    Para cada acción realizada en una página desde el navegador, se ejecuta automáticamente una prueba de sincronización entre la página HTML y su contexto..
    Se pueden utilizar dos modos para gestionar la sincronización:
    • Sincronización de Default (modo utilizado por Default al crear una nueva página).
    • sincronización programada.
Para obtener más información, consulte: Gestión de la sincronización.

Ejemplo de desincronización

Veamos un ejemplo de sitio:
  • Una página del navegador contiene una navegación control Tabla relacionado hacia el archivo ITEM y un enlace "Siguiente".
  • El archivo ITEM contiene un solo elemento, cada Record incluye una letra del alfabeto.
  • La página se utiliza para mostrar 6 filas de la control Tabla, el enlace "Siguiente" se utiliza para mostrar las 6 filas siguientes.
Al abrir la página, el control Tabla muestra los 6 primeros registros del archivo (de 'A' a 'F'). Veamos la secuencia de acciones realizadas por el usuario:
  1. Haga clic en el enlace "Siguiente
    Resultado: el servidor se posiciona en los siguientes 6 registros del archivo ITEM y devuelve su contenido al navegador. El navegador muestra la siguiente página de la control Tabla con los 6 nuevos contenidos ('G' a'L').
  2. Haga clic en el botón "Atrás" del navegador
    Resultado: el navegador muestra la página que precede a la primera acción. La control Tabla que se muestra contiene las letras de la 'A' a la 'F'.. El servidor no fue contactado, por lo tanto todavía está posicionado en los registros 'G' a L'.
  3. Haga clic en el enlace "Siguiente
    Resultado: el servidor se posiciona en los siguientes 6 registros de ITEM ('M' a 'R'). El navegador está sincronizado con el servidor y muestra los mismos elementos: el usuario de la Web tiene la sensación de que falta alguna información.
Este comportamiento puede tener consecuencias inesperadas cuando se modifica un archivo Record (modificación de una Record distinta a la que ve el usuario de la web por ejemplo).
Recordatorio: cada acción en el navegador debe desencadenar una acción del servidor: el servidor envía una respuesta al navegador. El clic en el botón "Atrás" del navegador es una acción del navegador independiente de su sitio WEBDEV, por lo que es posible que no se cumpla la segunda condición.
Impedir el uso del botón "Back"
Si se utiliza el botón "Atrás" del navegador para mostrar la página anterior, esta acción no tendrá ningún efecto.

Modo de funcionamiento

Al desactivar la función "Página anterior" del navegador se inserta el siguiente código JavaScript en la página HTML generada:
<SCRIPT LANGUAGE="JavaScript">
history.forward()
</SCRIPT>
Cuando se ejecuta la página en un navegador, no es posible volver a esta página utilizando el botón "Atrás".
Observaciones:
  • Si hace clic en el botón "Atrás" del navegador, la página parpadeará.
  • Este mecanismo puede fallar si se hace clic en el botón "STOP" antes de que el navegador ejecute la instrucción forward().

Implementación

Para desactivar el botón "Atrás" del navegador para una página específica:
  1. Abra la ventana de descripción de la página: en la pestaña "Página", en el grupo "Descripción", haga clic en "Descripción".
  2. En la pestaña "UI", en la opción "Uso del botón "Atrás" del navegador", seleccione "Prohibido".
  3. Valide.
Para desactivar el botón "Back" del navegador para todas las páginas del proyecto:
  1. Abrir el proyecto description: en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
  2. Haz clic en la pestaña "Avanzado".
  3. En la opción "Opción predeterminada para utilizar el botón "Atrás" del navegador", seleccione "Prohibido".
  4. Validar. Esta opción se tendrá en cuenta automáticamente para todas las nuevas páginas del sitio.
Gestión de la sincronización

Presentación

Para cada acción realizada en una página, el mecanismo de sincronización de páginas comprueba automáticamente la sincronización. Esta comprobación consiste en verificar si la página mostrada en el navegador corresponde al contexto de página que se encuentra en el servidor.
Se pueden utilizar dos modos para gestionar la sincronización:
  1. Gestión de la sincronización de Default.
  2. Gestión de la sincronización mediante programación, en el código de sincronización de la página.

Sincronización de Default

El mecanismo de sincronización sólo se activa si la opción "Utilizar el mecanismo de sincronización de páginas" está seleccionada para la página.
Si se produce una desincronización, un mensaje de advertencia informa al usuario de que la acción solicitada no se ha realizado. La página correspondiente al contexto en el servidor se vuelve a mostrar. El sitio puede seguir funcionando.
Para activar la sincronización en una página:
  1. Abra la ventana de descripción de la página: en la pestaña "Página", en el grupo "Descripción", haga clic en "Descripción".
  2. En la pestaña "UI", en la opción "Uso del botón "Atrás" del navegador", seleccione "Permitido (ejecuta el código de sincronización)".
  3. Validar. Esta página se incluirá automáticamente en el historial de páginas del navegador: para volver a esta página, haga clic en el botón "Atrás" del navegador.
Para activar la sincronización en todas las páginas del proyecto:
  1. Abrir el proyecto description: en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
  2. En la pestaña "Avanzado", en la opción "Opción predeterminada para utilizar el botón "Atrás" del navegador", seleccione "Permitido (ejecuta el código de sincronización)".
  3. Validar. Las páginas del proyecto se incluirán automáticamente en el historial de páginas del navegador: Para volver a estas páginas, haga clic en el botón "Atrás" del navegador.
Observaciones:
  • Este modo de gestión no requiere ningún código específico de WLanguage.
  • El mecanismo de sincronización se puede desactivar para los controles de la página que no requieren una sincronización (botón "Cerrar", por ejemplo): simplemente desmarque "Proceso de sincronización de la página de llamada si el usuario ha utilizado el botón "Anterior" del navegador" en la pestaña "Avanzado" del control description.
  • El mensaje de advertencia puede personalizarse (véase el siguiente párrafo).
Sincronización mediante programación
A set la sincronización mediante programación:
  1. Abra la ventana de descripción de la página: en la pestaña "Página", en el grupo "Descripción", haga clic en "Descripción".
  2. En la pestaña "UI", para "Usar el botón "Atrás" del navegador", seleccione "Permitido".
  3. Configurar (si es necesario) los controles de página para los que no se debe gestionar la sincronización..
    Para cada control que desencadena una acción en el servidor, se puede especificar si la sincronización de la página debe ser gestionada (opción Default) o ignorada durante esta acción. Para ignorar la gestión de la sincronización, basta con desmarcar "Llamar al proceso de sincronización de la página si el usuario utilizó el botón Atrás del navegador" en la pestaña "Avanzado" del control description.
  4. Introduzca el código necesario para set una sincronización personalizada en el código de sincronización de la página. Utilizar ChangeAction en el código de sincronización de páginas. Esta función se utiliza para definir la acción que se realizará si la página está desincronizada.
Observaciones:
  • ChangeAction se inicializa con "Sin acción" si en el código de sincronización de páginas se utiliza una función de WLanguage que permite mostrar o volver a mostrar una página.
  • Para personalizar el mensaje de desincronización, especifique lo siguiente en el código de sincronización de la página:
    1. el mensaje personalizado.
    2. cómo volver a mostrar la página actual en el servidor (con PageRefresh, por ejemplo).
  • Para realizar una sincronización a partir de la información del ordenador del usuario, se recomienda:
    1. Utilice un control oculto que contenga el identificador de la Record visualizada y seleccionada.
    2. En el código de sincronización, encuentra la Record actual en el navegador. Esta búsqueda se realiza utilizando el identificador de la control oculta
    3. Actualice la página.
Página anteriorTabla de contenidoPágina siguiente
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 30/10/2022

Señalar un error o enviar una sugerencia | Ayuda local