|
|
|
|
|
- Presentación
- Existen dos métodos para configurar el botón "Atrás" del navegador
- Ejemplo de desincronización
- Impedir el uso del botón "Atrás"
- Modo de funcionamiento
- Implementación
- Gestionar la sincronización
- Presentación
- Sincronización predeterminada
- Activar la sincronización mediante programación
14. Configurar el botón "Atrás" en la práctica
El botón "Atrás" permite a los usuarios ver el historial de las páginas que han visitado anteriormente. En un sitio WEBDEV en modo Sesión, cada página HTML que se muestra en el navegador está asociada a una sesión de página en el servidor. Cada acción realizada en el navegador debe estar sincronizada con la sesión de página correspondiente en el servidor. Sin embargo, el botón "Atrás" solo realiza una acción en el navegador: por lo que la página que se muestra en el navegador y su sesión en el servidor pueden desincronizarse cuando se utiliza el botón "Atrás". Existen dos métodos para configurar el botón "Atrás" del navegador Para evitar problemas de desincronización entre las páginas que se muestran en el navegador y las sesiones correspondientes en el servidor, WEBDEV ofrece dos métodos que permiten configurar el botón "Atrás": - Solución 1: Impedir el uso del botón "Atrás".
Si se utiliza el botón "Atrás" para ir a la página anterior, esta acción no tendrá ningún efecto. Para obtener más información, consulte: Impedir el uso del botón "Atrás". - Solución 2: Gestionar la sincronización (solución predeterminada)
Por cada acción realizada en el navegador, se comprueba automáticamente la sincronización entre la página HTML y su sesión. Existen dos métodos para gestionar la sincronización:- sincronización predeterminada (modo predeterminado utilizado al crear una nueva página).
- gestión de la sincronización mediante programación.
Para obtener más información, consulte: Gestionar la sincronización. Ejemplo de desincronización Veamos un ejemplo de un sitio: - Una página contiene un control Tabla vinculado a un archivo de datos "ITEM", y un enlace "Siguiente".
- El archivo de datos ITEM contiene un solo campo, cada registro incluye una letra del alfabeto.
- La página muestra 6 filas del control Tabla y el enlace "Siguiente" muestra las 6 filas siguientes.
Al abrir la página, el control Tabla muestra los primeros 6 registros del archivo de datos (de 'A' a 'F'). El usuario realiza la siguiente serie de acciones: - Clic en el enlace "Siguiente"
Resultado: el servidor establece la posición en los 6 registros siguientes del archivo de datos ITEM y devuelve su contenido al navegador. El navegador muestra la página siguiente del control Tabla con los 6 nuevos elementos ('G' a 'L'). - Clic en el botón "Atrás"
Resultado: el navegador muestra la página que se mostraba antes de la primera acción. El control Tabla muestra las letras de la 'A' a la 'F'. El servidor no ha recibido ninguna solicitud de actualización por parte del navegador, por lo que la posición en el servidor sigue establecida en los registros 'G' a 'L'. - Clic en el enlace "Siguiente"
Resultado: la posición en el servidor se establece en los 6 registros siguientes del archivo de datos "ITEM" ('M' a 'Q'). El navegador se sincroniza con el servidor y muestra los mismos elementos: desde el punto de vista del usuario, falta información.
Esto puede tener efectos no deseados cuando se modifica un registro de un archivo de datos (por ejemplo, el usuario ve un registro pero en realidad modifica otro). Recordatorio: todas las acciones del navegador deben sincronizarse con la sesión del servidor: el servidor debe enviar una respuesta al navegador. Sin embargo, el botón "Atrás" solo se tiene en cuenta en el navegador, lo que significa que el servidor no puede enviar una respuesta. Impedir el uso del botón "Atrás" Si se utiliza el botón "Atrás" para ir a 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> Al ejecutar la página en un navegador, no será posible volver a la página utilizando el botón "Atrás". Observaciones: - El uso del botón "Atrás" puede hacer que la página parpadee.
- Este mecanismo puede fallar si se pulsa 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: - Abra la ventana de descripción de la página. Vaya a la pestaña "Página", grupo "Descripción" y haga clic en "Descripción".
- En la pestaña "UI", en la opción "Uso del botón "Atrás" del navegador", seleccione "Prohibido".
- Valide.
Para desactivar el botón "Atrás" del navegador para todas las páginas del proyecto: - Abra la ventana de descripción del proyecto. Vaya a la pestaña "Proyecto", grupo "Proyecto", y haga clic en "Descripción".
- Haga clic en la pestaña "Avanzado".
- En la opción "Opción predeterminada para el botón "Atrás" del navegador", seleccione "Prohibido".
- Valide. Esta opción se tendrá en cuenta automáticamente para todas las nuevas páginas del sitio.
Gestionar la sincronización Presentación Por cada acción realizada en una página, el mecanismo de sincronización de páginas comprueba automáticamente la sincronización. Este mecanismo comprueba si la página que se muestra en el navegador corresponde a la sesión de página en el servidor. Existen dos métodos para gestionar la sincronización: - Sincronización predeterminada.
- Gestionar la sincronización mediante programación, en el código de sincronización de la página.
Sincronización predeterminada El mecanismo de sincronización predeterminado solo se activa si se selecciona la opción "Permitido (ejecuta el código de sincronización)" para la página. Si se produce una desincronización, un mensaje de advertencia indica al usuario que no se pudo realizar la acción solicitada. La página que corresponde a la sesión en el servidor se vuelve a mostrar. El sitio puede seguir funcionando. Para activar la sincronización en una página: - Abra la ventana de descripción de la página. Vaya a la pestaña "Página", grupo "Descripción" y haga clic en "Descripción".
- 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)".
- Valide. 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: - Abra la descripción del proyecto: en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
- En la pestaña "Avanzado", en la opción "Opción predeterminada para el botón "Atrás" del navegador", seleccione "Permitido (ejecuta el código de sincronización)".
- Valide. 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.
- La sincronización puede desactivarse para los controles de la página que no necesiten sincronizarse (botón "Cerrar", por ejemplo). Basta con desmarcar la opción "Llamar al proceso de sincronización de la página si el usuario hizo clic el botón Atrás del navegador" en la pestaña "Avanzado" de la descripción del control.
- El mensaje de advertencia puede personalizarse (ver párrafo siguiente).
Activar la sincronización mediante programación Para activar la sincronización mediante programación: - Abra la ventana de descripción de la página. Vaya a la pestaña "Página", grupo "Descripción" y haga clic en "Descripción".
- En la pestaña "UI", en "Uso del botón 'Atrás' del navegador", seleccione "Permitido".
- Si es necesario, configure los controles de la página para los que no debe activarse la sincronización.
Por cada control que desencadena una acción en el servidor, puede especificar si la sincronización de la página debe activarse (opción predeterminada) o ignorarse durante la acción. Para ignorar la sincronización, simplemente deseleccione la opción "Llamar al proceso de sincronización de la página si el usuario hizo clic el botón Atrás del navegador" en la pestaña "Avanzado" de la descripción del control. - Introduzca el código necesario para establecer una sincronización personalizada en el código de sincronización de la página. Utilice la función ChangeAction en el código de sincronización de la página. Esta función permite definir la acción que se realizará si la página está desincronizada.
Observaciones: - La función ChangeAction se inicializa con "Ninguna acción" si en el código de sincronización de la página se utiliza una función WLanguage que permite mostrar o volver a mostrar una página.
- Para personalizar el mensaje de desincronización, especifique los siguientes elementos en el código de sincronización de la página:
- mensaje personalizado.
- cómo volver a mostrar la página actual en el servidor (con la función PageRefresh, por ejemplo).
- Para realizar una sincronización a partir de la información en el equipo del usuario, le recomendamos:
- Utilizar un control oculto que contenga el identificador del registro visualizado y seleccionado.
- Buscar el registro que se muestra en el navegador en el código de sincronización. Esta búsqueda se realiza utilizando el identificador del control oculto.
- Actualizar la página.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|