Página com código em AJAX não funciona no IE8

5 respostas
B

Boa noite, tenho uma página que usa AJAX e que funciona perfeitamente no Chrome, Firefox, IE9.... menos no IE8 que é onde ele vai ter mesmo que trabalhar (!). Não consigo perceber o porquê, visto que deveria ser compatível com o mesmo (?).
Já pesquisei bastante na internet mas ainda não encontrei nenhum artigo que use uma linguagem fácil de forma a entender o que se deve fazer para que o código funcione no IE8.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script language="javascript" type="text/javascript">
<!-- 
//Browser Support Code
function dadosAlturaAgua(){
	nocache = "&nocache=" + Math.random() * 1000000;
	var request = false;  // The variable that makes Ajax possible!
	
	// Internet Explorer Browsers
		try{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
	try{
		// Opera 8.0+, Firefox, Safari
		request = new XMLHttpRequest();
	} catch (e){
		
				// Something went wrong
				alert("AJAX nao suportado! Impossivel visualisar dados. Considere actualizar o browser.");
				return false;
			}
		}
	}
// Create a function that will receive data sent from the server
	request.onreadystatechange = function(){
		if(request.readyState == 4){
			if(request.status == 200){
				if(request.responseText != null){
					
		document.getElementById("inner").style.height = request.responseText;
				}
			}
		}
	}
	request.open("GET", "&dadosagua" + nocache, true);
	request.send(null);
	setTimeout('dadosAlturaAgua()', 5000);

}

//-->
</script>
.....................código continua, mas penso que já não será importante.........................

Desde já agradeço a vossa ajuda!

5 Respostas

A

O IE8 possui uma ferramenta chamada Ferramenta para Desenvolvedores F12 (o F12 é ao mesmo tempo atalho e parte do nome).

Com ela você tem acesso ao console e as mensagens de erro de javascript.

Aliás, para desenvolvedores, é uma boa idéia habilitar a notificação de erros de javascript e até mesmo a depuração de scripts.
(Está tudo nas opções do IE).

Sabendo o erro que acontece, fica mais fácil resolver.

PS: E pode tentar usar jquery para simplificar essas coisas.

B

Obrigado pela sua resposta. Realmente jQuery simplificava, mas tenho mesmo que usar AJAX nesta forma, por isso tenho que arranjar maneira de pôr o código a funcionar.

B

Mais alguma ideia do que possa ser alterado de forma ao código trabalhar no IE8 ?

B

Abri a consola para debug (F12) e não me parece dar qualquer erro. Ninguém me pode dar mais alguma ajuda?

B

Obrigado pela resposta. Já descobri o problema… eu tinha a codificação de caracteres UTF-8 e mudei-a para ISO-8859-1 e ficou operacional!
alterei:
por:

Pode ser que ajude alguém que possa vir a ter o mesmo problema que eu.

Obrigado pela disponibilidade demonstrada!

Criado 11 de abril de 2013
Ultima resposta 15 de abr. de 2013
Respostas 5
Participantes 2