Son dos situaciones diferentes, en Opera nos interesa recargar la p�gina
para conseguir que funcione el back/forward, en el otro caso no hay esa excusa
y si queremos podemos provocar un error (suponemos evento unload o beforeunload excluidos)
*/
RequestNormalEventImpl request = getRequestNormalEvent();
Browser browser = getClientDocumentWithoutDocumentDefault().getBrowser();
if (browser.isCachedBackForwardExecutedScripts())
{
// Esperamos "con seguridad" el evento especial load/DOMContentLoaded marcado con "itsnat_check_reload"
// con la finalidad de recargar la p�gina, cualquier otro evento lo ignoraremos (no reload)
// para evitar varios reload, por ejemplo podr�a ser el caso de un evento "load" normal, dicho evento
// ha podido enviarse despu�s del evento especial pero antes de que el JavaScript de recarga tenga efecto,
// evitamos por tanto generar otro JavaScript de recarga
// El problema que introduce es que este reload a�ade una nueva
// entrada a la cach� del navegador.
boolean loadBackForwardEvent = OnLoadBackForwardListenerImpl.isLoadBackForwardEvent(request);
if (loadBackForwardEvent)
{
sendReload();
return;
}
else if (request.isLoadEvent())
{
// No es un evento load tipo back/forward, lo ignoramos pues antes o despu�s viene el que recarga la p�gina
return;
}
// Si llegamos aqu� es un evento cualquiera como click, no sabemos exactamente qu� ha pasado, delegaremos
// a los global listeners para que decidan
}
if (request.isLoadEvent())
{
// No sabemos qu� ha pasado ni que caso de navegador es, lo que
// parece claro es que la p�gina cliente quiere cargarse
// Una posible explicaci�n es que la p�gina contenga iframes
// y que al cargar los iframes hayamos superado el n�mero de