Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/09/2008, 15:42
Avatar de IMAC/
IMAC/
 
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 19 años, 1 mes
Puntos: 14
Respuesta: Autorecarga página unicamente cuando haya mensajes nuevos (mediante senten

Cita:
Iniciado por pato12 Ver Mensaje
Hola,
PD: Ami me funciona perfecto
A mi no. He probado con IE7, firefox, opera, safari. :)
No he usado ajax nunca aún, no necesita requerimientos del servidor especiales para ello ¿no?

Te explico un poco mejor para que veas donde puedo estar fallando.

Mi archivo 10ultimos.php contiene esto:
Código PHP:
<?php require("http://miforo.com/foro/ultimos.php"); 
$posts recentTopics(40null'array');
    echo 
'
        <center><table border="0">'
;
    foreach (
$posts as $post)
        echo 
'
            <tr>
            
                <td valign="top">
                     <a href="'
$post['href'], '"  target="_blank">'$post['subject'], '</a>
                    <span class="por">'
$txt[525], ' ('$post['poster']['link'], ') </span>
                    '
$post['new'] ? '' '<a href="' $scripturl '?topic=' $post['topic'] . '.msg' $post['new_from'] . ';topicseen#new" target="_blank"><img src="' $settings['images_url'] . '/' $context['user']['language'] . '/new.gif" alt="' $txt[302] . '" border="0" /></a>''
                </td>
                <td align="right" nowrap="nowrap">
                    '
$post['time'], '
                </td>
            </tr>'
;
    echo 
'
        </table></center>'
?>

Y luego he creado otro archivo llamado "autorecarga.php" con este otro código que me has dicho:
Código PHP:
<head>
<
script>
function 
getXMLHttpRequest(){
                var 
aVersions = [ "MSXML2.XMLHttp.5.0",
                        
"MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
                        
"MSXML2.XMLHttp","Microsoft.XMLHttp"
                
];

                if (
window.XMLHttpRequest){
                        
// para IE7, Mozilla, Safari, etc: que usen el objeto nativo
                        
return new XMLHttpRequest();
                }else if (
window.ActiveXObject){
                        
// de lo contrario utilizar el control ActiveX para IE5.x y IE6.x
                        
for (var 0aVersions.lengthi++) {
                                try {
                                    var 
oXmlHttp = new ActiveXObject(aVersions[i]);
                                    return 
oXmlHttp;
                                }catch (
error) {
                                
//no necesitamos hacer nada especial
                                
}
                    }
                }
        }
function 
ver(){
            var 
par "r="+Math.random();
            var 
url "http://miweb.com/10ultimos.php";
                var 
ajax getXMLHttpRequest();
            
ajax.open("POST",url,true);
            
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
                
ajax.onreadystatechange  respuesta;
            
ajax.send(par);                
                function 
respuesta(){
                        if (
ajax.readyState==4){
                                if (
ajax.status==200){
                                        
document.getElementById("ultimo").innerHTML=ajax.responseText;
                    }
                  }
                }
        }

volver_cargar=window.setInterval("ver();",1000);
</script>
</head>
<body>
<div id="ultimo"></div>  
</body> 
Saludos y gracias.