¿Hay algún modo de evitar que el usuario de una web actualice la pantalla pulsando sobre actualizar o F5?
Gracias.
|
|
#1 (permalink) |
![]() |
Evitar refresco de pantalla
¿Hay algún modo de evitar que el usuario de una web actualice la pantalla pulsando sobre actualizar o F5? Gracias.
__________________
El sexo sin amor es una experiencia vacía. Pero como experiencia vacía es una de las mejores. Woody Allen |
|
|
|
|
|
#2 (permalink) |
![]() |
Re: Evitar refresco de pantalla
hola, tengo esta funcion, haber si te sirve, nunca he sabido quitar el autopostback
if(window.event && window.event.keyCode==116) { alert('Alerta presionaste F5'); window.event.keyCode = 0; return false; } } <body class="bienvenida" onkeydown="dos();">
__________________
En periodo de prueba -> http://previo.latinid.com.mx |
|
|
|
|
|
#3 (permalink) |
![]() Fecha de Ingreso: junio-2006
Mensajes: 89
|
Re: Evitar refresco de pantalla
Puedes validar cuando el usuario le de a la tecla F5 o que que le al mouse click derecho y luego refresh.
yo tengo la siguiente función en una pagina base : #Region "Refresh(F5)" Public ReadOnly Property IsRefresh() As Boolean Get Return _isRefresh End Get End Property Private _refreshState As Boolean Private _isRefresh As Boolean Protected Overrides Sub LoadViewState(ByVal savedState As Object) Dim AllStates As Object() = savedState MyBase.LoadViewState(AllStates(0)) _refreshState = Boolean.Parse(AllStates(1)) _isRefresh = _refreshState = Session("__ISREFRESH") End Sub Protected Overrides Function SaveViewState() As Object Session("__ISREFRESH") = _refreshState Dim AllStates() As Object = New Object(2) {} AllStates(0) = MyBase.SaveViewState AllStates(1) = Not (_refreshState) Return AllStates End Function #End Region Luego en el evento Load de la pagina base colocamos: Me.Page.Response.Cache.SetNoStore() Me.Page.Response.AddHeader("PRAGMA", "NOCACHE") Me.Page.Response.Expires = -1 Me.Page.Response.Cache.SetCacheability(HttpCacheab ility.NoCache) Con eso puedes mandar llamar la propiedad IsRefresh() la cual te regresa un boolean con un true si es un refresh y un false si no lo es. Puedes colocar una validación sobre todo en los eventos que afectan base de datos para que no hagas dos viajes a la misma... Saludos espero te ayude |
|
|
|
|
|
#4 (permalink) |
![]() |
Re: Evitar refresco de pantalla
sabes, voy a probar, pero la voy a traducir a c# para ver como funciona ahi, de todas formas que bueno que ya lograste tu objetivo, saludos...
__________________
En periodo de prueba -> http://previo.latinid.com.mx |
|
|
|
|
|
#5 (permalink) |
![]() Fecha de Ingreso: junio-2006
Mensajes: 89
|
Re: Evitar refresco de pantalla
Yo utilizo una página base de la cual heredo mis páginas y sobreescribes el Load de las páginas. Así puedo utilizar esta función en todas las páginas que heredan mi página base.
Te paso el código en C#...
Código:
#region Refresh(F5)
protected override object SaveViewState()
{
Session["__ISREFRESH"] = _refreshState;
object[] allStates = new object[2];
allStates[0] = base.SaveViewState();
allStates[1] = !_refreshState;
return allStates;
}
protected override void LoadViewState(object savedState)
{
object[] allStates = (object[]) savedState;
base.LoadViewState(allStates[0]);
_refreshState = (bool) allStates[1];
_isRefresh = _refreshState == (bool) Session["__ISREFRESH"];
}
private bool _refreshState;
private bool _isRefresh;
public bool IsRefresh
{
get
{
return _isRefresh;
}
}
#endregion
Suerte |
|
|
|
![]() |
| Herramientas | |
| Desplegado | |
|
|