Foros del Web » Programando para Internet » Javascript »

Comet en CHROME (Queda siempre cargando)

Estas en el tema de Comet en CHROME (Queda siempre cargando) en el foro de Javascript en Foros del Web. Buenas, estoy haciendo una aplicacion web usando comet, por ahora llevo un reloj hecho no mas, pero eh notado en el navegador de google, queda ...
  #1 (permalink)  
Antiguo 23/11/2009, 11:56
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 3 meses
Puntos: 0
Comet en CHROME (Queda siempre cargando)

Buenas, estoy haciendo una aplicacion web usando comet, por ahora llevo un reloj hecho no mas, pero eh notado en el navegador de google, queda siempre cargando, por mas que funcione todo, el puntero del 'maus' queda siempre cargando.

Aca esta el 'backend'

Código PHP:
<?php 
class Backend_Controller extends BM_Controller
{
    public function 
index()
    {        
        
set_time_limit(0);
        
header("Cache-Control: no-cache, must-revalidate");
        
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        
flush();
        
        
$this->__header();
        
        while(
1) :
            
$time2 date("h:i:s");
    
            echo 
"<script type=\"text/javascript\">";
            echo 
"tsf.time('{$time2}');";
            echo 
"</script>";
            
            
sleep(1);
            
flush();
        endwhile;
        
        
$this->__footer();
        die();
    }
    
    private function 
__header()
    {
        
$config BM_Config::singleton();
        
$url $config->read('url');
        
        echo 
'<head>
<title>Backend</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
        
<script type="text/javascript">
  var is_khtml = navigator.appName.match("Konqueror") || navigator.appVersion.match("KHTML");
  if (is_khtml)
  {
    var prototypejs = document.createElement("script");
    prototypejs.setAttribute("type","text/javascript");
    prototypejs.setAttribute("src","javascript/prototype.js");
    var head = document.getElementsByTagName("head");
    head[0].appendChild(prototypejs);
  }
  var tsf = window.parent.tsf;
 </script>'
;
        
    }
    
    private function 
__footer()
    {
        echo 
"
</body>
</html>"
;
    }
}
?>
Y aca dejo el codigo del comet, donde creo iframe etc.
Código:
var tsf = {
	time:function(hour)
	{
		jQuery("#hour").html(hour);
		//console.log(hour);
	}
};

var comet = {
	connection : false,
	iframediv : false,
	requestPhp : "index.php?controller=backend",
	
	initialize: function()
	{
		if (navigator.appVersion.indexOf("MSIE") != -1)
		{
			// For internet explorer
			comet.connection = new ActiveXObject("htmlfile");
			comet.connection.open();
		    comet.connection.write("<html>");
		    comet.connection.write("<script>document.domain = '"+document.domain+"'");
		    comet.connection.write("</html>");
		    comet.connection.close();
		    comet.iframediv = comet.connection.createElement("div");
		    comet.connection.appendChild(comet.iframediv);
		    comet.connection.parentWindow.comet = comet;
		    comet.connection.parentWindow.tsf = tsf;
		    comet.iframediv.innerHTML = "<iframe id='comet_iframe' src='" + comet.requestPhp + "'></iframe>";
		} 
		else 	if (navigator.appVersion.indexOf("KHTML") != -1)
		{
			// For KHTML browsers
			comet.connection = document.createElement('iframe');
			comet.connection.setAttribute('id',     'comet_iframe');
			comet.connection.setAttribute('src',    comet.requestPhp);
		    with (comet.connection.style) 
		    {
		    	position   = "absolute";
		    	left       = top   = "-100px";
		        height     = width = "1px";
		        visibility = "hidden";
		    }
		    document.body.appendChild(comet.connection);
		}
		else
		{
			// Firefox and others
			comet.connection = document.createElement('iframe');
			comet.connection.setAttribute('id',     'comet_iframe');
			with (comet.connection.style) {
				left       = top   = "-100px";
				height     = width = "1px";
		        visibility = "hidden";
		        display    = 'none';
			}
			comet.iframediv = document.createElement('iframe');
			comet.iframediv.setAttribute('src', comet.requestPhp);
			comet.connection.appendChild(comet.iframediv);
			document.body.appendChild(comet.connection);
		}
	},
	onUnload: function()
	{
		if (comet.connection)
		{
			comet.connection = false;
		}
	}
};
Código:
<body>
<script type="text/javascript">
	Event.observe(window, "load",   comet.initialize);
	Event.observe(window, "unload", comet.onUnload);
</script>

O sea todo funciona bien, pero no entiendo porque en chrome siempre queda cargando..
  #2 (permalink)  
Antiguo 14/07/2012, 03:18
 
Fecha de Ingreso: julio-2012
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Comet en CHROME (Queda siempre cargando)

se que es medio viejo el mensaje, pero si lo lograste solucionar te agradeceria que me dijeras como ya que me esta pasando lo mismo!

Gracias!
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 18:16.