Ir para conteúdo
Fórum Script Brasil
  • 0

Rodar Script No Ajax Está Dando Erro Em Caracter


hipnos na area

Pergunta

Achei essa script de rodar Scripts em Ajax porem quando se usa o caracter "+" em uma script

a função extraiScript() não lê o caracter deixando um espço em branco...

Script original:

<script>
document.write("aqui: "+variavel+".");
</script>
Script com a função extraiScript():
<script>
document.write("aqui: " variavel ".");
</script>
:blink: Se algum conseguir corrigir essem erro favor postar o código aqui...
<script>
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('</scr'+'ipt>', ini);
            // extrai apenas o script
            codigo = texto.substring(ini,fim);
            // executa o script
            eval(codigo);
        }
    }
}
/*
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);
}*/

function openAjax() {
var Ajax;
try {Ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers mais populares, como: Firefox, Safari, dentre outros.
}catch(ee) {
try {Ajax = new ActiveXObject(" Msxml2.XMLHTTP"); // Para o IE da MS
}catch(e) {
try {Ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
}catch(e) {Ajax = false;
}
}
}
return Ajax;
}

function carregaAjax(id,arquivo) {
if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
var exibeResultado = document.getElementById(""+id+""); // div que exibirá o resultado.
var Ajax = openAjax(); // Inicia o Ajax.
Ajax.open("GET", ""+arquivo+"", true); // fazendo a requisição
Ajax.onreadystatechange = function()
{
if(Ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
exibeResultado.innerHTML = "<div align='center'><strong>Carregando...</strong></div>";
}
if(Ajax.readyState == 4) { // Quando estiver tudo pronto.
if(Ajax.status == 200) {
var resultado = Ajax.responseText; // Coloca o retornado pelo Ajax nessa variável
resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
resultado = unescape(resultado); // Resolve o problema dos acentos
exibeResultado.innerHTML = resultado;
extraiScript(resultado);
} else {
exibeResultado.innerHTML = "Erro: .";
}
}
}
Ajax.send(null);
}
}
</script>
<a href="java script:carregaAjax('destino','chatajax2/index.php')">carrega</a>
<div id=destino></div>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...