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


Meriteiro

Agosto de 2016



"Este membro destacou-se pela sua dedicação e pelo seu esforço.
Ao longo do último mês, demonstrou as suas capacidades gerais no FDF e, por isso, merece o nosso agradecimento."
Login

Esqueci minha senha

Últimos assuntos
» Efeito na imagem categoria
Hoje à(s) 9:25 por sandra51

» Botão neon resposta rapida
Hoje à(s) 4:44 por Daemon

» Mudar cor Da Barrinha e mudar cor do menu
Hoje à(s) 4:35 por Mr.Probz

» [Ranks] Laranja - Médio - Texto branco
Hoje à(s) 3:47 por Harold C+

» Imagem de fundo no fórum
Hoje à(s) 3:29 por Cream

» Membro do mês
Hoje à(s) 2:42 por while

» Personalizar o menu
Hoje à(s) 2:09 por Cream

Perdi minha senha!
Obter senha

Nota: use se tiver perdido acesso ao seu painel de controle.

Últimas sugestões
Parceiros Forumeiros
Os membros mais ativos da semana
Mr.Probz
 
Cream
 
while
 
idarkdg
 
Nean
 
Apollo
 
Harleen
 
sandra51
 
lavinnia
 
Sennior
 

Quem está conectado
60 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 59 Visitantes :: 2 Motores de busca

staay03

[ 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 : 1136

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.

Reset
Membro do Fórum

Masculino
Inscrito dia : 30/09/2014
Mensagens : 1074
Pontos Ativos : 2133

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

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.

Sovereign
Usuário experiente

Masculino
Inscrito dia : 04/02/2013
Mensagens : 2673
Pontos Ativos : 4481

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

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

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

JScript
Membro do Fórum

Masculino
Inscrito dia : 15/03/2013
Mensagens : 1449
Pontos Ativos : 3186

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

JScript
Membro do Fórum

Masculino
Inscrito dia : 15/03/2013
Mensagens : 1449
Pontos Ativos : 3186

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"

Reset
Membro do Fórum

Masculino
Inscrito dia : 30/09/2014
Mensagens : 1074
Pontos Ativos : 2133

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
Fórum dos Fóruns - Ajuda mútua para usuários forumeiros
on
Fórum grátis: interajuda aos usuários forumeiros. Criar e administrar um fórum. Descubra nossos guias, tutoriais e astúcias no suporte de Forumeiros.
Votações: 5