Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2012, 04:53
edie8
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 13 años, 2 meses
Puntos: 10
como modificar comet

Buenas estoy investigando el comet del que no se nada y me gustaría saber como puedo hacer que en vez de la hora me muestre los datos de una base de datos a cada momento es decir modificarlo para que me salgan los comentarios, otra duda que tengo es que al tiempo deja de mostrar el time y se para con el que ya tiene y se queda hay parado y nose porque, mi idea es mostrar los comentarios cada istante sin setinterval, y sin saturar el server este es el codigo:
backend.php
Código PHP:
Ver original
  1. </head>
  2. <body>
  3.  
  4. <script type="text/javascript">
  5.   //Navegadores KHTML no compartes javascripts entre iframes
  6.   var is_khtml = navigator.appName.match("Konqueror") || navigator.appVersion.match("KHTML");
  7.   if (is_khtml)
  8.   {
  9.     var prototypejs = document.createElement('script');
  10.     prototypejs.setAttribute('type','text/javascript');
  11.     prototypejs.setAttribute('src','prototype.js');
  12.     var head = document.getElementsByTagName('head');
  13.     head[0].appendChild(prototypejs);
  14.   }
  15.   // cargamos objeto comet (esto en realidad es el nombre del iframe)
  16.   var comet = window.parent.comet;
  17. </script>
  18.  
  19. <?php
  20.   echo '<script type="text/javascript">';
  21.   echo 'come.printServerTime('.time().');';
  22.   echo '</script>';
  23.   flush();
  24.   sleep(10); // un descanso para aliviar el CPU del servidor
  25. }
  26. ?>
  27. </body>
  28. </html>
index.html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.   <head>
  4.     <title>Comet demo</title>
  5.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.     <script type="text/javascript" src="prototype.js"></script>
  7.   </head>
  8.   <body>
  9.     <div id="content">La hora del servidor se mostrará aqui</div>
  10.  
  11. <script type="text/javascript">
  12. var comet = {
  13.   connection   : false,
  14.   iframediv    : false,
  15.  
  16.   initialize: function() {
  17.     if (navigator.appVersion.indexOf("MSIE") != -1) {
  18.  
  19.       // Para navegadores IE
  20.       comet.connection = new ActiveXObject("htmlfile");
  21.       comet.connection.open();
  22.       comet.connection.write("<html>");
  23.       comet.connection.write("<script>document.domain = '"+document.domain+"'");
  24.       comet.connection.write("</html>");
  25.       comet.connection.close();
  26.       comet.iframediv = comet.connection.createElement("div");
  27.       comet.connection.appendChild(comet.iframediv);
  28.       comet.connection.parentWindow.comet = comet;
  29.       comet.iframediv.innerHTML = "<iframe id='comet_iframe' src='./backend.php'></iframe>";
  30.  
  31.     } else if (navigator.appVersion.indexOf("KHTML") != -1) {
  32.  
  33.       // Para navegadores KHTML
  34.       comet.connection = document.createElement('iframe');
  35.       comet.connection.setAttribute('id',     'comet_iframe');
  36.       comet.connection.setAttribute('src',    './backend.php');
  37.       with (comet.connection.style) {
  38.         position   = "absolute";
  39.         left       = top   = "-100px";
  40.         height     = width = "1px";
  41.         visibility = "hidden";
  42.       }
  43.       document.body.appendChild(comet.connection);
  44.  
  45.     } else {
  46.    
  47.       // Para otros navegadores (Firefox...)
  48.       comet.connection = document.createElement('iframe');
  49.       comet.connection.setAttribute('id',     'comet_iframe');
  50.       with (comet.connection.style) {
  51.         left       = top   = "-100px";
  52.         height     = width = "1px";
  53.         visibility = "hidden";
  54.         display    = 'none';
  55.       }
  56.       comet.iframediv = document.createElement('iframe');
  57.       comet.iframediv.setAttribute('src', './backend.php');
  58.       comet.connection.appendChild(comet.iframediv);
  59.       document.body.appendChild(comet.connection);
  60.  
  61.     }
  62.   },
  63.   // esta función será llamada desde backend.php
  64.   printServerTime: function (time) {
  65.     $('content').innerHTML = time;
  66.   },
  67.   onUnload: function() {
  68.     if (comet.connection) {
  69.       comet.connection = false; // se eliminará el iframe para prevenir problemas con IE cuando se recargue la pagina.
  70.     }
  71.   }
  72. }
  73. Event.observe(window, "load", comet.initialize);
  74. Event.observe(window, "unload", comet.onUnload);
  75.  
  76. </body>
  77. </html>
gracias espero que me puedan hechar una mano porque todos los tutoriales no los entiendo y me copio el codigo haber como funcionan pero no lo entiendo un saludo.

Última edición por edie8; 13/10/2012 a las 05:01