Fórum dos Fóruns

Fórum dos Fóruns Forumeiros

Welcome FdF Bem-vindo ao fórum de suporte Forumeiros  Muito feliz


Para aproveitar tudo o que o nosso fórum lhe oferece, agradecemos que se identifique, se já é nosso membro, ou que se junte à nossa comunidade, fazendo o seu registo.
Conectar-se

Esqueci minha senha

Perdi minha senha!
Você precisa recuperar sua senha?
Clique aqui
Os membros mais ativos da semana
7kgmlcdkv
 
Luiz
 
iScroll
 
Matt Shultz
 
Harleen
 
Ketholy123
 
T1ag0
 
zHugh
 
PlayWillian
 
ranzatti
 

Quem está conectado
229 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 225 Visitantes :: 2 Motores de busca

7kgmlcdkv, DustyRhodes, soldado, uvmyyvpew

[ Ver toda a lista ]


O recorde de usuários online foi de 3131 em 24/12/09, 01:05 pm

Chatbox com delay

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Chatbox com delay

Mensagem por Lord Than em 16/11/14, 04:48 pm

Detalhes da dúvida


Versão do fórum : phpBB2
Nível de acesso : Administrador
Navegador usado : Mozilla Firefox
Membros afetados : Todos os membros do fórum
Problema começou : Uma semana atrás
Endereço do fórum : http://halfbloodcamp-rpg.forumeiros.com/

Descrição do problema

Olá!

Gostaria de pedir uma solução para o probleminha que está ocorrendo não só no meu fórum, mas em todos que eu jogo: o chatbox não está atualizando sozinho e está com delay para enviar mensagens.

Bom, isso está irritando todos os membros, e é realmente muito chato.

Obrigado desde já.


Última edição por Lord Than em 18/11/14, 12:01 pm, editado 1 vez(es)

Lord Than
Nível 7

Masculino
Inscrito dia : 02/01/2014
Mensagens : 86
Pontos Ativos : 138

Ver perfil do usuário http://halfbloodcamp-rpg.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Reset em 16/11/14, 04:57 pm

Olá!

Isso começou a uma semana atrás certo, então antes estava de boa. Fez alguma mudança nessa semana?

Até mais,
Reset.
avatar

Reset
Membro do Fórum

Masculino
Inscrito dia : 30/09/2014
Mensagens : 1093
Pontos Ativos : 1457

Ver perfil do usuário http://ajuda.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Lord Than em 16/11/14, 05:06 pm

Non, non, a única mudança que fiz faz muitas semanas, e é como eu disse: outros fóruns que eu jogo estão com o mesmo problema (e não é no meu computador).

Lord Than
Nível 7

Masculino
Inscrito dia : 02/01/2014
Mensagens : 86
Pontos Ativos : 138

Ver perfil do usuário http://halfbloodcamp-rpg.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Dr. em 16/11/14, 05:09 pm

Informo que isso também ocorre comigo, em todos os fóruns na qual faço parte. Já reportei ao Shek, entretanto, não sabemos o motivo.


Dr.Publicideiro - Fórum dos Fóruns
avatar

Dr.
Publicideiro
Publicideiro

Masculino
Inscrito dia : 04/02/2013
Mensagens : 2778
Pontos Ativos : 3211

Ver perfil do usuário http://www.casadosnerds.com https://www.facebook.com/MatheusAndreazzi https://twitter.com/nevesandreazzi

Resolvido Re: Chatbox com delay

Mensagem por Lord Than em 16/11/14, 05:13 pm

Sabia que era algo interno. Bem, espero um pronunciamento da STAFF.

Lord Than
Nível 7

Masculino
Inscrito dia : 02/01/2014
Mensagens : 86
Pontos Ativos : 138

Ver perfil do usuário http://halfbloodcamp-rpg.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por JScript em 17/11/14, 12:53 pm

Lord Than escreveu:Sabia que era algo interno. Bem, espero um pronunciamento da STAFF.
Não precisa esperar a staff só pra obter essa resposta, na verdade isso é reflexo de algumas mudanças nas funções internas do ChatBox, uma delas foi a troca da função abaixo:
Código:

function ajax_refresh_chatbox(params, force) {
    if (params == '' || params == undefined) {
        params = '?achives=0'
    }
    if (window.XMLHttpRequest) {
        var http_request = new XMLHttpRequest()
    } else if (window.ActiveXObject) {
        var http_request = new ActiveXObject("Microsoft.XMLHTTP")
    }
    http_request.onreadystatechange = function() {
        if (http_request.readyState == 4 && http_request.status == 200) {
            var parsed_text = http_request.responseText;
            eval(parsed_text);
            if (chatbox_last_update > chatbox_updated || force) {
                if (document.getElementById('chatbox').innerHTML != null) {
                    if (chatbox_messages_old != chatbox_messages) {
                        document.getElementById('chatbox').innerHTML = chatbox_messages;
                        chatbox_messages_old = chatbox_messages;
                        document.getElementById('chatbox').scrollTop = document.getElementById('chatbox').scrollHeight + document.getElementById('chatbox').offsetHeight;
                        document.getElementById('chatbox').scrollTop = 999999
                    }
                }
                if (document.getElementById('chatbox_members').innerHTML != null) document.getElementById('chatbox_members').innerHTML = chatbox_memberlist;
                chatbox_updated = chatbox_last_update
            }
        }
    };
    http_request.open('GET', '/chatbox/chatbox_actions.forum?achives=1' + params + '&mode=refresh', true);
    http_request.send(null)
}

Por esta outra:
Código:

function ajax_refresh_chatbox(params, force) {
    if (params == '' || params == undefined) {
        params = '?achives=0'
    }
    $.ajax({
        url: '/chatbox/chatbox_actions.forum' + params + '&mode=refresh',
        type: 'get',
        dataType: 'script',
        success: function () {
            if ($('#chatbox').length) {
                if (chatbox_messages_old != chatbox_messages) {
                    $('#chatbox').html(chatbox_messages);
                    chatbox_messages_old = chatbox_messages;
                    $('#chatbox').animate({
                        scrollTop: $('#chatbox').prop('scrollHeight')
                    })
                }
            }
            if ($('#chatbox_members').length) $('#chatbox_members').html(chatbox_memberlist);
            chatbox_updated = chatbox_last_update
        },
    })
}

O que eu pude observar é que basicamente estão trocando chamadas puramente em JavaScript por jQuery, lembrando que jQuery é fácil, menos código porém é mais lento do que JavaScript puro!

Essa e outras funções fazem parte do arquivo chatbox.js

JS
avatar

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

Ver perfil do usuário http://jscript.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por JScript em 17/11/14, 05:12 pm

Bom, eu não consegui editar a minha mensagem acima, mas aqui está uma solução temporária que resolve o problema!
O código é bem simples e só faz a substituição da função atual que está em jQuery pela anterior somente em JavaScript puro...

Basta adicionar como um novo JavaScript com investimento somente no índice pois o ChatBox só aparece no índice mesmo...:
Código:

 // Redefine function in frm_lang_xx.js, by JScript Brasil at live dot com!
 function insertChatBox(chatbox_id, chatbox_url) {
    return insertChatBoxNew(chatbox_id, chatbox_url);
 }

 function insertChatBoxNew(chatbox_id, chatbox_url) {
    document.getElementById(chatbox_id).innerHTML = '<iframe src="/chatbox/index.forum?archives=1" id="frame_chatbox" scrolling="no" width="100%" height="100%" marginwidth="0" marginheight="0" frameborder="0"></iframe>';

    frames["frame_chatbox"].onload = function() {
        // Redefine function in chatbox7.js, by JScript Brasil at live dot com!
        var JS = document.getElementById("frame_chatbox").contentWindow.document.createElement("script");
        JS.type = "text/javascript";
        JS.innerHTML =
          'chatbox_messages_old = "";' +
            'function ajax_refresh_chatbox(params, force) {' +
            '    if (params == "" || params == undefined) {' +
            '        params = "?achives=0"' +
            '    }' +
          '     if (force == "" || force == undefined) {' +
          '       force = 1;' +
          '    }' +
            '    if (window.XMLHttpRequest) {' +
            '        var http_request = new XMLHttpRequest()' +
            '    } else if (window.ActiveXObject) {' +
            '        var http_request = new ActiveXObject("Microsoft.XMLHTTP")' +
            '    }' +
            '    http_request.onreadystatechange = function() {' +
            '        if (http_request.readyState == 4 && http_request.status == 200) {' +
            '            var parsed_text = http_request.responseText;' +
            '            eval(parsed_text);' +
            '            if (chatbox_last_update > chatbox_updated || force) {' +
            '                if (document.getElementById("chatbox").innerHTML != null) {' +
            '                    if (chatbox_messages_old != chatbox_messages) {' +
            '                        document.getElementById("chatbox").innerHTML = chatbox_messages;' +
            '                        chatbox_messages_old = chatbox_messages;' +
            '                        document.getElementById("chatbox").scrollTop = document.getElementById("chatbox").scrollHeight + document.getElementById("chatbox").offsetHeight;' +
            '                        document.getElementById("chatbox").scrollTop = 999999' +
            '                    }' +
            '                }' +
            '                if (document.getElementById("chatbox_members").innerHTML != null) document.getElementById("chatbox_members").innerHTML = chatbox_memberlist;' +
            '                chatbox_updated = chatbox_last_update' +
            '            }' +
            '        }' +
            '    };' +
            '     http_request.open("GET", "/chatbox/chatbox_actions.forum" + params + "&mode=refresh", true);' +
            '     http_request.send(null);' +
            '}' +
          'number_of_refresh = 0;';
        document.getElementById("frame_chatbox").contentWindow.document.getElementsByTagName("head")[0].appendChild(JS);
    };
 }
Mas atenção: O código acima só irá surtir efeito em ChatBox que não tenha outro arquivo JS de personalização, em outras palavras: Só para Chats sem código JS que trocam a tag < object > por < iframe >!
Pois este código já faz essa conversão de tags, mas nada o impedirá de mesclar os códigos em um só...

E lembrem-se: Apesar de resolver o problema aqui relatado, se forem usar o código, fiquem atentos aos anúncios sobre a solução vinda dos técnicos!

JS
avatar

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

Ver perfil do usuário http://jscript.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Reset em 22/11/14, 03:54 pm

Olá!

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.
Tópico marcado como Resolvido e movido para Questões resolvidas.
Tópico movido de "Outras questões" para "Questões resolvidas"
avatar

Reset
Membro do Fórum

Masculino
Inscrito dia : 30/09/2014
Mensagens : 1093
Pontos Ativos : 1457

Ver perfil do usuário http://ajuda.forumeiros.com/

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum