Jump to content


Photo

Chamar Pagina Dentro De Div


  • Faça o login para participar
4 replies to this topic

#1 osvaldo luso

osvaldo luso

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Não informado

Posted 16/12/2009, 16:04

Pessoal,

Estou tentando chamar uma página para dentro de uma DIV com ID =conteudo, contida na pagina index e só esta funcionando no IE-8/Mosila/Safari, mas não funciona em IEs mais antigos. Meu objetivo é carregar
as outras páginas dentro da pagina principal para evitar reload. Veja os codigos:


MENU:

[/html]<div class="menu_horizontal">
<ul>
<li><a href="#" onclick="abrirPag('index.php');">Página Inicial</a></li>
<li><a href="#" onclick="abrirPag('Fale_conosco.php');">Fale Conosco</a></li>
<li><a href="#" onclick="abrirPag('Programas.php');">Programas</a></li>
<li><a href="#" onclick="abrirPag('Quem_somos.php');">Quem Somos</a></li>
<li><a href="#" onclick="abrirPag('Historia.php');">História</a></li>
<li><a href="#" onclick="abrirPag('Equipe.php');">Equipe</a></li>
<li><a href="#" onclick="abrirPag('Links.php');">Links</a></li>
<li><a href="#" onclick="abrirPag('Locutores.php');">Locutores</a></li>
<li><a href="#" onclick="abrirPag('Ouvinte.php');">Ouvinte</a></li>
</ul>
</div>


Funcões JS:

function abrirPag(valor){ 
        var url = valor; 
 
        xmlRequest.onreadystatechange = mudancaEstado; 
        xmlRequest.open("GET",url,true); 
        xmlRequest.send(null); 
 
                if (xmlRequest.readyState == 1) { 
                        document.getElementById("conteudo").innerHTML = "<img src='loader.gif'>"; 
                } 
 
        return url; 
} 
 
function mudancaEstado(){ 
        if (xmlRequest.readyState == 4){ 
                document.getElementById("conteudo").innerHTML = xmlRequest.responseText; 
        } 
}

Ajax:

function GetXMLHttp() { 
        var xmlHttp; 
        try {                 
                xmlHttp = new XMLHttpRequest(); 
        } 
        catch(ee) { 
                try {   
                                             
                        xmlHttp = new ActiveXObject("Microsoft.XMLHttp"); 
                } 
                catch(e) { 
                        try {      
                                                             
                                xmlHttp = xmlhttp=new ActiveXObject("MSXML2.XMLHttp"); 
                        } 
                        catch(e) { 
                                    alert("Seu browser não suporta AJAX!");                                    
                                    xmlHttp = false; 
                                
                                
                                
                        } 
                } 
        } 
        return xmlHttp; 
} 
 
var xmlRequest = GetXMLHttp();


Já estou à duas semanas fazendo pesquisando e efetuando testes mas até agora não consegui descobrir o problema.
Não funciona em IEs < 8. Me ajudem por favor

Edição feita por: osvaldo luso, 16/12/2009, 16:10.


#2 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 17/12/2009, 11:53

Pessoal,

Estou tentando chamar uma página para dentro de uma DIV com ID =conteudo, contida na pagina index e só esta funcionando no IE-8/Mosila/Safari, mas não funciona em IEs mais antigos. Meu objetivo é carregar
as outras páginas dentro da pagina principal para evitar reload. Veja os codigos:


MENU:

[/html]<div class="menu_horizontal">
<ul>
<li><a href="#" onclick="abrirPag('index.php');">Página Inicial</a></li>
<li><a href="#" onclick="abrirPag('Fale_conosco.php');">Fale Conosco</a></li>
<li><a href="#" onclick="abrirPag('Programas.php');">Programas</a></li>
<li><a href="#" onclick="abrirPag('Quem_somos.php');">Quem Somos</a></li>
<li><a href="#" onclick="abrirPag('Historia.php');">História</a></li>
<li><a href="#" onclick="abrirPag('Equipe.php');">Equipe</a></li>
<li><a href="#" onclick="abrirPag('Links.php');">Links</a></li>
<li><a href="#" onclick="abrirPag('Locutores.php');">Locutores</a></li>
<li><a href="#" onclick="abrirPag('Ouvinte.php');">Ouvinte</a></li>
</ul>
</div>


Funcões JS:

function abrirPag(valor){ 
 var url = valor; 
 
 xmlRequest.onreadystatechange = mudancaEstado; 
 xmlRequest.open("GET",url,true); 
 xmlRequest.send(null); 
 
 if (xmlRequest.readyState == 1) { 
 document.getElementById("conteudo").innerHTML = "<img src='loader.gif'>"; 
 } 
 
 return url; 
} 
 
function mudancaEstado(){ 
 if (xmlRequest.readyState == 4){ 
 document.getElementById("conteudo").innerHTML = xmlRequest.responseText; 
 } 
}

Ajax:

function GetXMLHttp() { 
 var xmlHttp; 
 try { 
 xmlHttp = new XMLHttpRequest(); 
 } 
 catch(ee) { 
 try { 
 
 xmlHttp = new ActiveXObject("Microsoft.XMLHttp"); 
 } 
 catch(e) { 
 try { 
 
 xmlHttp = xmlhttp=new ActiveXObject("MSXML2.XMLHttp"); 
 } 
 catch(e) { 
 alert("Seu browser não suporta AJAX!"); 
 xmlHttp = false; 
 
 
 
 } 
 } 
 } 
 return xmlHttp; 
} 
 
var xmlRequest = GetXMLHttp();


Já estou à duas semanas fazendo pesquisando e efetuando testes mas até agora não consegui descobrir o problema.
Não funciona em IEs < 8. Me ajudem por favor


Realizei uma pequena alteração no código....testa e veja se resolve seu problema..

código alterado:

function GetXMLHttp() {		var xmlHttp;	try { 	xmlHttp = new XMLHttpRequest();	}	catch(ee) { 	try { 	xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 	} 	catch(e) { 	try { 	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 	} 	catch(e) { 	xmlHttp = false; 	} 	}	}	return xmlHttp;}var xmlRequest = GetXMLHttp();


#3 osvaldo luso

osvaldo luso

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Não informado

Posted 18/12/2009, 11:12

Infelizmente ainda só funciona o IE 8 ,Mosila etc. Não funciona em IE < 8.

#4 osvaldo luso

osvaldo luso

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Não informado

Posted 23/12/2009, 21:59

[code=auto:0][/code]

Infelizmente ainda só funciona o IE 8 ,Mosila etc. Não funciona em IE < 8.


Consegui a solução. Basta inverter o parte do código.

Código original:
xmlRequest.onreadystatechange = mudancaEstado;  
xmlRequest.open("GET",url,true);  
xmlRequest.send(null);
Código invertido:
xmlRequest.open("GET",url,true);  
xmlRequest.onreadystatechange = mudancaEstado;
xmlRequest.send(null);

[code=auto:0][/code]


Infelizmente ainda só funciona o IE 8 ,Mosila etc. Não funciona em IE < 8.


Consegui a solução. Basta inverter o parte do código.

Código original:
xmlRequest.onreadystatechange = mudancaEstado;  
xmlRequest.open("GET",url,true);  
xmlRequest.send(null);
Código invertido:
xmlRequest.open("GET",url,true);  
xmlRequest.onreadystatechange = mudancaEstado;
xmlRequest.send(null);

Ah, A fonte é :Clique aqui

Edição feita por: osvaldo luso, 23/12/2009, 21:56.


#5 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 30/12/2009, 08:22

Sim está correto Osvaldo este codigo que você passou

xmlRequest.open("GET",url,true);  
xmlRequest.onreadystatechange = mudancaEstado;
xmlRequest.send(null);

agora o pq?
simples ^^'

xmlRequest.open("GET",url,true); # esta linha apenas processa as informações!
xmlRequest.onreadystatechange = mudancaEstado; # Envia as informações obtidas acima para a função mudancaEstado

invertendo ela primeiro envia as informações pra depois processar ^^' ou seja e a mesma coisa que vestir a calça pra depois colocar a cueca XD

e una explicação meia chulé mas acho que deu pra entender XD

abraços e feliz ano novo !!! :D
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq