Foros del Web » Programando para Internet » Javascript »

body onUnLoad de nuevo

Estas en el tema de body onUnLoad de nuevo en el foro de Javascript en Foros del Web. Buenas. Llevo un par de horas mirando en este foro y parece que a todo el mundo le funciona, pero a mi la verdad es ...
  #1 (permalink)  
Antiguo 26/08/2010, 13:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
body onUnLoad de nuevo

Buenas.

Llevo un par de horas mirando en este foro y parece que a todo el mundo le funciona, pero a mi la verdad es que no.

Quiero añadir una función en el body onUnload. En principio para probar, lo he hecho con el típico

<body onUnLoad="alert('probando')" >

funciona correctamente en IE y en chrome, pero no en firefox (ni la version de ubuntu, 3.5.3) y la de windows 3.5.11

igualmente el mismo resultado con
<body onUnLoad="alert('probando');" > (Punto y coma al final).

Al parecer esto le funciona a todo el mundo, pero a mi no me funciona y probando lo que leo en las diferentes entradas del foro la verdad es que no hay manera.

Alguien sabe como hacer que esto funcione en los 3 navegadores que comento??


Utilizo paginas .jspx de ICEfaces, que creo que no implican nada especial al respecto.


Gracias.

Salu2
  #2 (permalink)  
Antiguo 26/08/2010, 15:14
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: body onUnLoad de nuevo

Probado en firefox 3.6.8 windows y funciona:

Código:
<html>
<body onUnLoad='alert("Me voy!!")'>
</body>
</html>
Crea un html con el código y cierra la página, debería despedirse de ti...
  #3 (permalink)  
Antiguo 27/08/2010, 04:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: body onUnLoad de nuevo

Hola Jorge,

pues veamos, veo que ha todo el mundo le funciona menos a mi, por eso lo comentaba al principio en mi post.

Copiado tal cual de mi pagina
<body onUnload='alert("Me voy!!")'>

ok en IE, chrome, pero no en FF.

La verdad es que es un poco estresante el asunto este.

Gracias
Un Salu2
  #4 (permalink)  
Antiguo 27/08/2010, 05:07
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: body onUnLoad de nuevo

Cita:
Iniciado por davisoski Ver Mensaje
ok en IE, chrome, pero no en FF.
Un Salu2
¿Qué versión usas? Asegúrate que tienes javascript activado.

Dentro de firefox, ve a herramientas/consola de errores y dale a limpiar. Carga tu página y mira a ver si aparece algún error. Sal de la página (para lanzar el evento onUnLoad() ) (sin cerrar firefox) y mira tu consola de errores.

A ver si eso da alguna pista...
  #5 (permalink)  
Antiguo 27/08/2010, 06:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: body onUnLoad de nuevo

Hola Jorge.

Obtengo en la consola lo siguiente:

Error: syntax error
Archivo de origen: javascript:%20http://localhost:8080/test/
Línea: 1, columna: 32
Código fuente:
http://localhost:8080/test/

luego si pulso sobre ese link anterior obtengo los siguiente:

Error: uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIWebNavigation.loadURI]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: chrome://global/content/viewSource.js :: viewSource :: line 221" data: no]

En las opciones Herramientas/Opciones/Contenidos tengo activado javascript y java tambien y desbloqueado ventanas emergentes

Gracias.
Salu2
  #6 (permalink)  
Antiguo 27/08/2010, 06:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: body onUnLoad de nuevo

la version de FF es 3.5.11
  #7 (permalink)  
Antiguo 27/08/2010, 07:53
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: body onUnLoad de nuevo

El mensaje de error no da muchas pistas... ¿puedes pegar el código de la página completa?
  #8 (permalink)  
Antiguo 27/08/2010, 13:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: body onUnLoad de nuevo

Hola de nuevo,

te pongo el codigo de la plantilla principal del proyecto.

Es el tipico codigo de una plantilla en ICEfaces, tiene trozos de codigo comentados de algunas pruebas que he estado realizando.

A ver si ayuda un poco mas.

Gracias por el interés.

Salu2




<f:view xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ice="http://www.icesoft.com/icefaces/component"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets">



<ice:outputDeclaration doctypeRoot="HTML"
doctypePublic="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctypeSystem="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />

<html>
<head>
<!--
<script src="./inc/js/jquery.js" type="text/javascript"></script>
<script>
$(window).unload( function(){ alert("cerrar"); //stop event return
false; } );
</script>
-->
<!--
<script type="text/javascript">
$(document).ready(function (){
//Aqui asignamos el click al elemento <a>
$("a").click(function (){
alert("Presionaste un <a>");
});
});
</script>
-->


<!--
http://karlgrz.blogspot.com/2009/08/icefaces-disposablebean-and-cleaning-up.html
-->
<!--
<script type="text/javascript">
window.onbeforeunload = function (evt)
{
var message = 'Are you sure you want to leave?';
if (typeof evt == 'undefined')
{

evt = window.event;
}
if (evt)
{
evt.returnValue = message;
window.navigate('./logout');
}
return message;
}
</script>

-->

<script type="text/javascript">
function liberar() {

var message = 'Are you sure you want to leave?';

evt = window.event;
if (typeof evt == 'undefined')
{
alert('undefined');

evt = window.event;
}
if (evt)
{
// alert('not undefined');

evt.returnValue = message;
window.navigate('./logout');
}
return message;
}
</script>
<!--
<meta http-equiv="X-UA-Compatible" content="chrome=1"></meta>
-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>

<title id="dynamicTitle"><ui:insert name="title"></ui:insert></title>


<ice:outputStyle href="/xmlhttp/css/rime/rime.css" />

</head>

<body onUnload='alert("Me voy!!")'>

<!--
<body>
-->


<ui:insert name="header">

<!--
<ice:inputHidden rendered="true" value="#{myDisposableBean.text}" />
<ice:outputText value="#{myDisposableBean.text}" />
-->
<ui:include src="#{stackingPanel.ui_include_header}" />
</ui:insert>

<div class="body_container">

<div class="body_content">
<div class="contentContainer"><!--
Main Component content;
controls which content to display for the respective navigation
--> <ice:form id="main">

<ui:insert name="page-content" />

<ice:panelGroup styleClass="clearer" />

</ice:form></div>
</div>

</div>

<ui:insert name="footer">
<ui:include src="/jspx-layout/footer.jspx" />
</ui:insert>

<ice:form>

<ice:panelGroup styleClass="componentBox">
<ice:panelPopup id="draggablePnlPop" draggable="true" modal="true"
visible="#{popup.modalRendered}" autoCentre="true"
styleClass="corePopup">
<f:facet name="header">
<ice:panelGroup styleClass="popupHeaderWrapper">
<ice:outputText value="#{msgs['advertencia']}"
styleClass="popupHeaderText" />
<ice:commandButton id="modalPnlCloseBtn" type="button"
image="/xmlhttp/css-images/popupclose.gif"
actionListener="#{popup.botonNegativo}"
styleClass="popupHeaderImage" title="#{msgs['cerrar.ventana']}"
alt="#{msgs['cerrar.ventana']}" />
</ice:panelGroup>
</f:facet>
<f:facet name="body">
<ice:panelGroup styleClass="popupBody">
<ice:outputText styleClass="popupHeaderText"
value="#{popup.bodyText1}" />
<br />
<ice:outputText styleClass="popupHeaderText"
value="#{popup.bodyText2}" />
<br />
<br />
<ice:commandButton id="modalPnlSiButton" type="submit"
styleClass="popupButtonClose" value="#{popup.textoBotonSi}"
actionListener="#{popup.afirmativo}"
title="#{msgs['cerrar.ventana.header']}"
alt="#{msgs['cerrar.ventana']}"
rendered="#{popup.botonAfirmativo}" />
<ice:commandButton id="modalPnlNoButton" type="submit"
styleClass="popupButtonClose" value="#{popup.textoBotonNo}"
actionListener="#{popup.botonNegativo}"
title="#{msgs['no.ventana.header']}"
alt="#{msgs['no.ventana.header']}" />
</ice:panelGroup>
</f:facet>
</ice:panelPopup>
</ice:panelGroup>


</ice:form>

</body>
</html>
</f:view>
  #9 (permalink)  
Antiguo 28/08/2010, 01:49
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: body onUnLoad de nuevo

El código esta bien, lo copio y pego tal cual en un html y el evento onUnLoad funciona correctamente.
¿No te da ningún otro problema el navegador? Lo único que se me ocurre es que lo actualices o que lo reinstales. También podrías iniciar firefox en modo seguro por comparar...
  #10 (permalink)  
Antiguo 28/08/2010, 04:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: body onUnLoad de nuevo

Hola.

Pues lo he vuelto a probar en modo seguro como me indicas y na de na.

No tengo idea de que puede pasar, he vuelto a probarlo con el firefox que tengo instalado en otro sistema operativo (ubuntu), cuya version es 3.5.3 y tampoco funciona. Sin embargo en el chrome para linux que tambien tengo instalado si que funciona.

Voy a probar a desinstalarlo, el problema es que la versión que tengo de FF no la he actualizado cuando me lo pide y no tengo esa versión, con lo que me instalará la ultima y si funciona, no sabre que ocurre con esta dichosa versión. Si alguien utiliza esta version pues tampoco le funcionara.


He estado mirando paginas que muestran mensajes al cerrar el navegador y entiendo que es posible hacerlo, creo yo.


No se...

Perdona la extensión de mis comentarios, pero es que estoy un poco harto.

Gracias.
Salu2

Etiquetas: body
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:45.