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

(Resolvido) problema com onreadystatechange no internet explorer


matheus.labanca

Pergunta

Boa tarde.

estou com um problema em um cod onde o metodo onreadystatechange não funciona no IE.

Fala que não foi implementado.

alguém pode me ajudar. abaixo o cod

document.write(unescape("%3Cscript src='js/marcaPalavra.js' type='text/javascript'%3E%3C/script%3E"));

blog = {

    id_blog : 1,
    ajaxObject : null,
    words : new Array(), // Keywords
    isIE : true,
    
    //Montando objeto XMLHttpRequest
    getHTTPObject: function() {
        try {
            // Firefox, Opera, Safari
            console.log("firefox, chrome");
            blog.isIE = false;
            return new XMLHttpRequest();
        }
        catch (e) {
            // Internet Explorer
            try    {
                console.log("IE 1");
                blog.isIE = true;
                return new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    console.log("IE 2");
                    blog.isIE = true;
                    return new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {
                    alert("Your browser does not support AJAX!");
                    return false;
                }
            }
        }
    },
        
    //chama o php que pega as palavras do banco
    sendIdBlog : function(){

        blog.ajaxObject = blog.getHTTPObject();

        if (blog.ajaxObject != null)
        {
            
            blog.ajaxObject.open("GET", "testephp.php?blog="+blog.id_blog, false);
            blog.ajaxObject.send(null);
            blog.ajaxObject.onreadystatechange = 
                 ( blog.isIE )
                ? blog.setWords        //recebe o resultado vindo do php IE
                : blog.setWords();    //recebe o resultado vindo do php outros navegadores
        }
        
        blog.ajaxObject = null;
     
    },
    
    // Recebendo as palavras
    setWords: function(){
        
        var json_string = '';
        if (blog.ajaxObject.readyState == 4)
        {
            if(blog.ajaxObject.status == 200) {
                json_string = blog.ajaxObject.responseText;
                blog.words = eval(json_string);
                console.log(blog.words);
            }
        }
    },    

    //passa o array de palavras a serem grifadas
    loadWords: function() {
        blog.sendIdBlog();
        return blog.words;
    }    
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Cara valeu a ajuda, apesar de não querer usar uma biblioteca pronta achei melhor usar a prototype, ai deu certo, mas obrigado.

Segue o cod pra alguém que tiver o mesmo problema.

blog = {

    id_blog : 1,
    words : new Array(), // Keywords
    url : "testephp.php?blog=",        
    
    //chama o php que pega as palavras do banco
    sendIdBlog : function(){    
        var myAjax = new Ajax.Request( blog.url + blog.id_blog, { method: 'get', asynchronous: false, onComplete: blog.setWords });
    },
    
    // Recebendo as palavras
    setWords: function(ajaxObject){
        
        var json_string = '';
        json_string = ajaxObject.responseText;
        blog.words = eval(json_string);    
            
    },    

    //passa o array de palavras a serem grifadas
    loadWords: function() {
        blog.sendIdBlog();
        return blog.words;
    }    
}

Editado por matheus.labanca
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

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