Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edu.luca

[Resolvido]  ajax

Recommended Posts

pessoal estou usando

function montaXMLHTTP(){
try{
myObj = new XMLHttpRequest()
}catch(e){
myObj = new ActiveXObject("Microsoft.XMLHTTP"); 
}
return myObj;
}

 

em uma aplicação ajax, e agora simplesmente o negocio começou a funcionar estranho no explorer e firefox, a atualização esta para cada 5 segundos e no ie e firefox ele atualiza a cada 20 segundos independente do tempo que eu coloque sempre fica em 20. Lembrando que estava tudo normal a ate uns dias atras e no chrome esta tudo funcionando perfeito

 

Alguem saberia explicar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre o restante do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre o restante do código.

 

 

esse é o codigo html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estilo.css" rel="stylesheet" type="text/css">

<script src="js/ajax.js" language="javascript" type="text/javascript"></script>

<script type="text/javascript">

function reenvia(){
Online();
}
obj_online = new montaXMLHTTP();
function Online(){	
obj_online.open("GET","sorteios.php",true);
obj_online.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
obj_online.onreadystatechange = function(){
if(obj_online.readyState == 4){
document.getElementById("sorteios").innerHTML = obj_online.responseText;
clearTimeout(re);
setTimeout("Online()",5000);
}
}
obj_online.send(null);
var re = setTimeout("reenvia()",10000);
}

</script>

</head>

<body onLoad="setTimeout('Online()',5000);" bgcolor="#F5F5F5">

<table>
<tr>
<td height="8" id="sorteios"></td>
</tr>
</table>

</body>
</html>

que junto com o javascript

function montaXMLHTTP(){
try{
myObj = new XMLHttpRequest()
}catch(e){
myObj = new ActiveXObject("Microsoft.XMLHTTP"); 
}
return myObj;
}

chama o php

<?

include("configsql.php");
require("../configsorteio.php");
require('class.mysql.php');
require('config.inc.php');

session_start();
if(!$_SESSION['usu_nick']){
print 'Erro ao carregar.';
exit();
}

?>

<? if ($exibe_sorteio1 == "sim") { ?>
<p> </p>
<font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><b><?php echo utf8_encode($texto_sorteio1); ?></b></font><br>
<? if ($exibe_cronometro1 == "sim") { ?>
<table width="1200">
<tr bgcolor="#000000">
<td><div align="center"><font color="#FFFFFF" size="3" face="Arial, Helvetica, sans-serif"><? $Proximo = utf8_encode(Próximo); echo $Proximo; ?> Sorteio / <? date_default_timezone_set("America/Sao_Paulo"); $data_atual = time(); $dia_atual = date('d'); $mes_atual = date('m'); $mes_total = date('t'); if ($mes_atual != $mes_sorteio1) {$dias_restantes = $dia_sorteio1 - $dia_atual + $mes_total;} else {$dias_restantes = $dia_sorteio1 - $dia_atual;} $hora_atual = date('H'); $data_futura = mktime($hora_sorteio1, $minuto_sorteio1, $segundo_sorteio1); $segundos_restantes_diferenca = $data_futura - $data_atual; $horas_restantes = floor(($segundos_restantes_diferenca + ($dias_restantes * 60 * 60 * 24)) / 60 / 60); $minutos_restantes = floor(($segundos_restantes_diferenca + ($dias_restantes * 60 * 60 * 24) - ($horas_restantes * 60 * 60)) / 60); $segundos_restantes = floor(($segundos_restantes_diferenca + ($dias_restantes * 60 * 60 * 24) - ($horas_restantes * 60 * 60)) - ($minutos_restantes * 60)); $horas_restantes = str_pad($horas_restantes, 2, '0', STR_PAD_LEFT); $minutos_restantes = str_pad($minutos_restantes, 2, '0', STR_PAD_LEFT); $segundos_restantes = str_pad($segundos_restantes, 2, '0', STR_PAD_LEFT); if ($horas_restantes < 0 || $horas_restantes > 500) {echo "00".':'."00".':'."00";} else {echo "$horas_restantes".':'."$minutos_restantes".':'."$segundos_restantes";} ?></font></div></td>
</tr>
</table>
<?
}
?>

 

ja foi tentado cabeçalho header expires, no-cache e tudo que existe para não guardar cache no navegador

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... eu acho bem esquisito esse setTimeout recursivo.

 

faça com apenas um setInterval()

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... eu acho bem esquisito esse setTimeout recursivo.

 

faça com apenas um setInterval()

 

com setInterval não funcionou

 

o mais estranho é que antes estava perfeito funcionou durante meses e de repente parou. e ja foi testado em outros comp esta com o mesmo problema, somente no chrome que continua perfeito

Compartilhar este post


Link para o post
Compartilhar em outros sites

com setInterval não funcionou

 

o mais estranho é que antes estava perfeito funcionou durante meses e de repente parou. e ja foi testado em outros comp esta com o mesmo problema, somente no chrome que continua perfeito

 

 

descobri a encrenca é do servidor, contratei um outro serv para testar e a aplicação funcionou perfeito, valeu pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.