Executar javascript no AJAX.

Vejo que como eu demorei muito tempo para achar está solução vou publicar aqui o código para ajudar os demais que não conseguirão ainda…. ^^ …mais detalhes em breve!

function extraiScript(texto){
//desenvolvido por Skywalker.to, Micox e Pita.
//http://forum.imasters.uol.com.br/index.php?showtopic=165277
var ini, pos_src, fim, codigo;
var objScript = null;
ini = texto.indexOf('<script', 0)
while (ini!=-1){
var objScript = document.createElement("script");
//Busca se tem algum src a partir do inicio do script
pos_src = texto.indexOf(' src', ini)
ini = texto.indexOf('>', ini) + 1;

//Verifica se este e um bloco de script ou include para um arquivo de scripts
if (pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
//Marca como sendo o inicio do nome do arquivo para depois do src
ini = pos_src + 4;
//Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
fim = texto.indexOf('.', ini)+4;
//Pega o nome do arquivo
codigo = texto.substring(ini,fim);
//Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
// Adiciona o arquivo de script ao objeto que sera adicionado ao documento
objScript.src = codigo;
}else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
// Procura o final do script
fim = texto.indexOf('</script>', ini);
// Extrai apenas o script
codigo = texto.substring(ini,fim);
// Adiciona o bloco de script ao objeto que sera adicionado ao documento
objScript.text = codigo;
}

//Adiciona o script ao documento
document.body.appendChild(objScript);
// Procura a proxima tag de <script
ini = texto.indexOf('<script', fim);

//Limpa o objeto de script
objScript = null;
}
}

no ajax fica:

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);
}

“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:”

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

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

Fonte: http://forum.imasters.uol.com.br/index.php?showtopic=165277

One thought on “Executar javascript no AJAX.”

Deixe um comentário

O seu endereço de e-mail não será publicado.