Loading
carregando...

Executando scripts dentro de uma pagina carregada com Ajax





Essa função é bem simples de usar e muito funcional, uso em várias aplicações e sempre funciona.

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 "" e executa tudo o q tem dentro!.


  1.  
  2. function extraiScript(texto){
  3.    // inicializa o inicio ><
  4.    var ini = 0;
  5.    // loop enquanto achar um script
  6.     while (ini!=-1){
  7.           // procura uma tag de script
  8.           ini = texto.indexOf('<script', ini);
  9.           // se encontrar
  10.           if (ini >=0){
  11.            // define o inicio para depois do fechamento dessa tag
  12.            ini = texto.indexOf('>', ini) + 1;
  13.            // procura o final do script
  14.            var fim = texto.indexOf('</script>', ini);
  15.            // extrai apenas o script
  16.            codigo = texto.substring(ini,fim);
  17.            // executa o script
  18.                eval(codigo);
  19.         }
  20.   }
  21. }
  22.  



no ajax fica:

  1.  
  2. if (xmlhttp.readyState==4){
  3.   // coloca o valor no objeto requisitado
  4.   texto=unescape(xmlhttp.responseText.replace(/\\+/g," "));
  5.   document.getElementById(destino).innerHTML=texto;
  6.   // executa scripts
  7.   extraiScript(texto);
  8. }
  9.  



É isso aí ... abrass tt


Autor: Dárcio Gomes
Data: 30/01/2013 00:00:00