Tenemos una aplicación heredada (mezcla de ASP clásico y ASP.net) que tiene algunas páginas ricas en contenido Ajax. La expectativa es que los usuarios del sitio realiza un conjunto de tareas en la página que pueden abarcar una buena cantidad de tiempo, digamos, 15-30 minutos.Uso de javascript para restablecer la metaetiqueta para evitar que actualice la página
Uno de los requisitos es que los usuarios que inicien sesión en el sitio se desconecten automáticamente después de 15 minutos de inactividad. Esto se está logrando actualmente mediante el uso de etiquetas meta para redirigir al usuario a la página de cierre de sesión después de 15 minutos de inactividad en la página.
<meta name='Refresh' http-equiv="Refresh" content="900;URL=/someurl/logout.asp">
El problema que estamos teniendo es que el navegador no piensa no ha habido ninguna actividad en la página a pesar de tener muchas interacciones AJAX con el servidor. Entonces, después de los 15 minutos de lo que el navegador considera inactividad, el usuario se desconecta automáticamente incluso si está haciendo algo.
Inspirados por este message board post que intentaron arreglar la molestia mediante el uso de Javascript (jQuery) de esta manera
La continuación sería un controlador de eventos tales como hacer clic de la ahorrar en la página, etc., para simplicidad aquí es la página carga para modificar el tiempo de actualización de 5 segundos
$(document).ready(function() {
var selector = 'meta[name=Refresh]';
var content = $(selector).attr("content"); //"900;URL=/someurl/logout.asp"
$(selector).attr("content", "5;URL=/someurl/logout.asp");
});
siendo la intención de (re) establecer el contenido de la etiqueta meta la página temporizador de renovación sería puesta a cero. Lamentablemente, esto no parece funcionar (en IE).
Dado que se trata de una aplicación heredada, algunas de las decisiones, es decir, utilizar metaetiquetas, etc., están preparadas. La pregunta es: ¿hay alguna forma de conseguir que la actualización de metaetiquetas coexista pacíficamente con una aplicación Ajax? ¿Estoy haciendo algo mal y hay alguna manera de resolver este problema?
el meta Refresh no tiene nada que ver con la actividad: si lo configura en 15 minutos, se actualizará a los 15 minutos independientemente de la actividad. – Matt
ver posible duplicado: http: // stackoverflow.com/questions/262305/how-can-i-update-meta-refresh-from-javascript-when-using-asyncronous-calls – Matt
@Matt, por actividad quise decir que la página no se ha vuelto a cargar. Supuse que está implícito cuando hablamos de una aplicación asp clásica en la que las páginas se vuelven a cargar en cada publicación. –