xeroso xeroso  • 23.04.13 0:24

[AJAX] Executando scripts dentro de uma pagina carregada com Ajax Empty [AJAX] Executando scripts dentro de uma pagina carregada com Ajax 23.04.13 0:24

Bom.. a função que interessa é esta:

Como funciona: Digamos que você tenha um site, onde carrega os conteudos dentro de um layer utilizando ajax!.. e alguns desses conteudos possuem javascript.

fiz uma função, que le o texto retornado pelo XMLhttpRequest e procura por tags

Código:
"<script>" e "</script>" e executa tudo o q tem dentro!.

function extraiScript(texto){
   // inicializa o inicio ><
   var ini = 0;
   // loop enquanto achar um script
   while (ini!=-1){
      // procura uma tag de script
      ini = texto.indexOf('<script', ini);
      // se encontrar
      if (ini >=0){
         // define o inicio para depois do fechamento dessa tag
         ini = texto.indexOf('>', ini) + 1;
         // procura o final do script
         var fim = texto.indexOf('</script>', ini);
         // extrai apenas o script
         codigo = texto.substring(ini,fim);
         // executa o script
         eval(codigo);
      }
   }
}
no ajax fica:

Código:
if (xmlhttp.readyState==4){
         // coloca o valor no objeto requisitado
         texto=unescape(xmlhttp.responseText.replace(/\+/g," "));
         document.getElementById(destino).innerHTML=texto;
         // executa scripts
         extraiScript(texto);

}O que me fez desenvolver isso, foi a necessidade de recarregar o centro da pagina quando um usuario faz login ou logoff no meu sistema.

uma coisa interessante, coloque o codigo js nas paginas q você carrega com ajax e o titulo do navegador vai mudar conforme o local, ex:

Código:
<script>
document.title = ".:NomeDoSite - Historia";
</script>

<script>
document.title = ".:NomeDoSite - Busca";
</script>


Att,$r0xx.sh - Programmer and Professional Hacking

NewBlack NewBlack  • 23.04.13 0:32

Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.