Ir para conteúdo

POWERED BY:

Arquivado

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

kbssa

[Resolvido] Erro no ie8

Recommended Posts

Bom dia pessoal, tudo na santa paz?!

 

Explicando o projeto...

To desenvolvendo um site na agencia em q trabalho, no layout tenho um topo em flash e a função do ajax pra toca de conteudo.

Em todos os browser que testei ff, Opera, Safari, Chrome funcionou certinho... e no ie8 e ie7 nao!

Gostaria de saber se alguem sabe alguma solução?

 

Link para ver o site http://www.milledecor.com.br/novo/

 

No flash uso esse comando para chamar a função de trocar o conteudo:

 

import flash.external.*;

 

bt_empresa.onRelease = function()

{

ExternalInterface.call("abrirPag", "empresa.html");

}

 

bt_servico.onRelease = function()

{

ExternalInterface.call("abrirPag", "servicos.html");

}

E abaixo segue o conteudo do meu html, onde esta a função ajax

 

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

 

<html>

 

<head>

 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 

<title>Mille Decor</title>

 

<script>

 

function GetXMLHttp() {

 

if(navigator.appName == "Microsoft Internet Explorer") {

 

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

 

}

 

else {

 

xmlHttp = new XMLHttpRequest();

 

}

 

return xmlHttp;

 

}

 

var xmlRequest = GetXMLHttp();

 

function abrirPag(valor){

 

var url = valor;

 

xmlRequest.onreadystatechange = mudancaEstado;

 

xmlRequest.open("GET",url,true);

 

xmlRequest.send(null);

 

if (xmlRequest.readyState == 1) {

 

document.getElementById("Meio").innerHTML = "<div style='height:100px; width:100%; text-align:center; padding-top:75px;'><img src='img/carregando.gif' width='32' height='32' /></div>";

 

}

 

 

return url;

 

}

 

function mudancaEstado(){

 

if (xmlRequest.readyState == 4){

 

document.getElementById("Meio").innerHTML = xmlRequest.responseText;

 

}

 

}

 

</script>

 

 

<link href="estilo.css" rel="stylesheet" type="text/css" />

 

<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>

 

</head>

 

<body>

 

<div id="Tudo">

 

<div id="Topo">

 

<script type="text/javascript">

AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0,width,100%,height,380,src,swf/topo,quality,high,pluginspage,http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash,movie,swf/topo' ); //end AC code

</script>

 

<noscript>

 

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="100%" height="380">

<param name="movie" value="swf/topo.swf" />

<param name="quality" value="high" />

<embed src="swf/topo.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100%" height="380"></embed>

</object>

 

</noscript>

 

</div>

 

<div id="Conteudo">

 

<div id="Meio" ></div>

 

</div>

 

<div id="FundoRodape">

 

<div id="ConteudoRodape">

 

<div style="float:left; width:100%; text-align:left;"><img src="img/bt_indique.jpg" alt="Indique esse site" /></div>

 

<div style="float:left; width:70%; text-align:left; height:18px; margin-top:9px">Copyright© 2009 - Mille Decorações | Todos os direitos reservados.</div>

 

<div style="float:right; width:30%; text-align:right; height:27px;"><img src="img/assinatura_panda.jpg" alt="Feito por nós" height="27" /></div>

 

</div>

 

</div>

 

</div>

 

</body>

</html>

 

vlw galera,

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente alterar a sua funcao de iniciacao ajax por esta

 

function GetXMLHttp() {
		var req;
		try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(ex) {
				try {
					req = new XMLHttpRequest();
				} catch(exc) {
					alert("Esse browser não suporta Ajax");
					req = null;
				}
			}
		}
		return req;
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa vlw pela resposta, mais ainda nao funcionou

 

testei dessa forma e continua na mesma, funfa em todos menos nos ie

 

segue link do site http://www.milledecor.com.br/novo/

 

quando você clica a primeira vez em um botao ele ate carrega a pagina mais depois você tenta trocar pra outra e nao vai so fica no loading

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que sei onde esta o erro

 

function mudancaEstado(){

if (xmlRequest.readyState == 4){

document.getElementById("Meio").innerHTML = xmlRequest.responseText;

}

 }

 

deveria ser em vez de ter o readystate==1 fora dessa funcao tem de ter dentro da funcao

 

 

 

ficaria

 

function mudancaEstado(){
 if (xmlRequest.readyState==1){

document.getElementById("Meio").innerHTML = "<div style='height:100px; width:100%; text-align:center; padding-top:75px;'><img src='img/carregando.gif' width='32' height='32' /></div>";

}
		   
if (xmlRequest.readyState==4){

  if(xmlRequest.status==200)
 {
 document.getElementById("Meio").innerHTML = xmlRequest.responseText;
 }
				  
}

}

 

melhor ainda é você usar esta estrutura

 

function abrirPag(valor){
		xmlRequest = GetXMLHttp();
		xmlRequest.open("GET",url,true);
		
		ajax.onreadystatechange=function() {
		   if (xmlRequest.readyState==1){

document.getElementById("Meio").innerHTML = "<div style='height:100px; width:100%; text-align:center; padding-top:75px;'><img src='img/carregando.gif' width='32' height='32' /></div>";

}
		   
if (xmlRequest.readyState==4){

  if(xmlRequest.status==200)
 {
 document.getElementById("Meio").innerHTML = xmlRequest.responseText;
 }
				  
}
		}
		xmlRequest.send(null);
 
}

 

se nao funfar tenta dar um alert apartir da pagina que é requisitada para ver se funfa

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa....

 

entao com a sua sugestão completa nao deu certo, parou de funcionar...

 

usei algumas dicas que deu para melhorar o codigo, e agora esta dessa forma

 

function GetXMLHttp() {

var req;

 

try {

req = new ActiveXObject("Microsoft.XMLHTTP");

} catch(e) {

try {

req = new ActiveXObject("Msxml2.XMLHTTP");

} catch(ex) {

try {

req = new XMLHttpRequest();

} catch(exc) {

alert("Esse browser não suporta Ajax");

req = null;

}

}

}

 

return req;

 

}

 

var xmlRequest = GetXMLHttp();

 

function abrirPag(valor){

 

var url = valor;

 

xmlRequest.onreadystatechange = mudancaEstado;

 

xmlRequest.open("GET",url,true);

 

xmlRequest.send(null);

 

return url;

 

}

 

function mudancaEstado(){

 

if (xmlRequest.readyState==1){

 

document.getElementById("Meio").innerHTML = "<div style='height:100px; width:100%; text-align:center; padding-top:75px;'><img src='img/carregando.gif' width='32' height='32' /></div>";

 

}

 

if (xmlRequest.readyState==4){

 

if(xmlRequest.status==200){

document.getElementById("Meio").innerHTML = xmlRequest.responseText;

}

}

 

}

mais mesmo assim nada de funcionar nos ies....

 

o que quiz dizer com "isso se nao funfar tenta dar um alert apartir da pagina que é requisitada para ver se funfa", é pra criar um alert em cada pagina do conteudo?

 

vlw brow.....

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao o que eu queia dizer com isso é que o problema pode estar na pagina a que o ajax faz o request. tente dar uma alert ou escrever algo nessa pagina ou atraves do js ou atraves de script de server se estiver usando para ver se no ie ele traz esses valores

 

 

se mesmo assim nao der, veja se é o url que esta mandando erradou ou os parametros, mas em principio nao é pk se funfa no ff é pk nao é isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa....

 

entao fiz isso que você flw em todas as paginas internas... coloquei um alert no final da pagina, o alert nao funcionou em nenhum browser e em nenhuma pagina

 

e no ie soh funciona o primeiro clique que da no menu do flash depois nao mais.....

 

vlw

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é estranho, tinha de ser o ie ainda para complicar mais, rsrsrsr

 

adicione na pagina prncipal um link que chama a funcao ajax e veja se funfa assim, pode ser que seja dos botoes flash ja nao sei,aashuasuahs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fla aiiii...

entao nada ainda, coloquei as funções tudo separado e ficou na mesma, acredito que o erro seja no ajax mesmo, pois quando clico a primeira vez no link ele funciona, ja o segundo clique nao...

 

sempre tenho problemas com outros browsers nunca com ie hj ele resolveu ferrar.... ahweioAWHOEAWHe

 

to pesquisando aqui se eu achar algo ja posto aqui....

 

vlw pela força

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi qual foi a modificacao foi o chamamento do ajax?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem antes no script meu tinha o esquema enquanto nao carrega fica o loading, que era isso

if (xmlRequest.readyState==1){

 

document.getElementById("Meio").innerHTML = "<div style='height:100px; width:100%; text-align:center; padding-top:75px;'><img src='img/carregando.gif' width='32' height='32' /></div>";

 

}

dai funcionou... depois tenho que ver pra colocar isso denovo, mais por enquanto ta bom!!! rsrsrr

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.