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.
Acesso rápido

Fóruns de suporte oficiais
Conectar-se

Esqueci minha senha

Últimos assuntos
Perdi minha senha!
Você precisa recuperar sua senha?
Clique aqui
Parceiros Forumeiros
Quem está conectado
234 usuários online :: 12 usuários cadastrados, Nenhum Invisível e 222 Visitantes :: 2 Motores de busca

[B]ubbaNWD, Cooper, Daemon, EDU2010, Game Player, juleic1123, Laylla Marina, Luiz~, MateusV., PESS_dodo, Sennior, Shek Crowley

[ Ver toda a lista ]


O recorde de usuários online foi de 3131 em Qui 24 Dez 2009 - 15:05

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 Dom 16 Nov 2014 - 18:48

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 Ter 18 Nov 2014 - 14:01, editado 1 vez(es)

Lord Than
Nível 7

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

http://halfbloodcamp-rpg.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Reset em Dom 16 Nov 2014 - 18:57

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 : 1089
Pontos Ativos : 2386

http://ajuda.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Lord Than em Dom 16 Nov 2014 - 19:06

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 : 1351

http://halfbloodcamp-rpg.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Sovereign em Dom 16 Nov 2014 - 19:09

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.
avatar

Sovereign
Usuário experiente

Masculino
Inscrito dia : 04/02/2013
Mensagens : 2674
Pontos Ativos : 4698

http://www.casadosnerds.com https://www.facebook.com/MatheusAndreazzi https://twitter.com/nevesandreazzi

Resolvido Re: Chatbox com delay

Mensagem por Lord Than em Dom 16 Nov 2014 - 19:13

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 : 1351

http://halfbloodcamp-rpg.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por JScript em Seg 17 Nov 2014 - 14:53

@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 : 15/03/2013
Mensagens : 1449
Pontos Ativos : 3405

http://jscript.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por JScript em Seg 17 Nov 2014 - 19:12

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 : 15/03/2013
Mensagens : 1449
Pontos Ativos : 3405

http://jscript.forumeiros.com/

Resolvido Re: Chatbox com delay

Mensagem por Reset em Sab 22 Nov 2014 - 17:54

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 : 1089
Pontos Ativos : 2386

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