[Tutorial] Juntar mensagens seguidas de um membro no chatbox

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

avatar
Admin
Administrador
Tempo Online : 176d 8h 9m 37s
Mensagens : 693
Reputação : 3
Ver perfil do usuário http://bestweb.forumais.com

MensagemAdmin em Qui Set 29, 2016 4:25 pm

Informações:

Autor: JScript
Versões: Todas as versões
Introdução: Juntar mensagens seguida de um membro no chatbox

Instalação:

Acesse:
Painel de controle ->> Modulos ->> HTML & Javascripts ->> Gestão dos códigos Javascripts
Então crie um novo javascript com investimento no indice com esse código:
Código:
       /**************************************************************************
        * Module: JS_ChatMSGJoin
        * Description: Join duplicate messages in Chat Box!
        * Author: Made and Optimizations by JScript - 2014/11/02
        * Version: Beta tester only!
        ***************************************************************************/
        jQuery(function() {
            try {
                if (jQuery('#frame_chatbox').length) {
                    if (jQuery('object#frame_chatbox').length) {
                        //  console.log('Replaced by JS_ChatMSGJoin');
                        var sHtml = '<iframe src="/chatbox/index.forum?archives=1" id="frame_chatbox" scrolling="yes" width="100%" height="100%" type="text/html" style="border: 0px;" />';
                        jQuery('#frame_chatbox').replaceWith(sHtml);
                    }
                    // jQuery(window).load(function() {
                    var ChatIframeExist = setInterval(function() {
                        if (document.getElementById("frame_chatbox").contentWindow.document.getElementById('chatbox') !== null) {
                            clearInterval(ChatIframeExist);

                            document.getElementById("frame_chatbox").contentWindow.document.getElementById('chatbox').style.display = 'none';

                            jQuery('#frame_chatbox').contents().find('#chatbox').after('<div id="js-chatbox" increment="10" pageincrement="0" maxpos="325" curpos="188"></div>');
                            // Copy entire CSS style from #chatbox to #js-chatbox id!
                            // Implemented by JScript...
                            var oStyleOrign = document.getElementById("frame_chatbox").contentWindow.document.getElementById('chatbox');
                            var oStyleCopy = document.getElementById("frame_chatbox").contentWindow.document.getElementById('js-chatbox');

                            oTarget = document.getElementById("frame_chatbox").contentWindow.getComputedStyle(oStyleOrign, "");
                            for (index = 0; index < oTarget.length; index++) {
                                oStyleCopy.style.setProperty(oTarget[index], oTarget.getPropertyValue(oTarget[index]), null);
                            }

                            document.getElementById("frame_chatbox").contentWindow.document.getElementById('js-chatbox').style.display = 'block';
                            document.getElementById("frame_chatbox").contentWindow.refresh_chatbox("?archives=1");

                            var chatbox_updated = 1,
                                chatbox_last_update = 0,
                                oTarget = jQuery('#frame_chatbox').contents().find('#chatbox > p'),
                                iLen = oTarget.length,
                                index = 0;
                            forNext(oTarget, index, iLen);

                            setInterval(function() {
                                try {
                                    if (document.getElementById("frame_chatbox").contentWindow.document.getElementById('chatbox_members').innerHTML !== '') {
                                if (!chatbox_last_update) {
                                  document.getElementById("frame_chatbox").contentWindow.document.getElementById('js-chatbox').style.display = 'block';
                                }
                                        chatbox_updated = document.getElementById("frame_chatbox").contentWindow.chatbox_updated;
                                        chatbox_last_update = document.getElementById("frame_chatbox").contentWindow.chatbox_last_update;
                                        if (chatbox_updated !== chatbox_last_update) {
                                            try {
                                                oTarget = jQuery('#frame_chatbox').contents().find('#chatbox > p');
                                                iLen = oTarget.length;
                                                index = 0;

                                                forNext(oTarget, index, iLen);
                                                document.getElementById("frame_chatbox").contentWindow.chatbox_updated = document.getElementById("frame_chatbox").contentWindow.chatbox_last_update;
                                            } catch (e) {
                                                // console.log(e);
                                            }
                                            // console.log('Changes!');
                                        }
                                    } else if (chatbox_last_update) {
                                chatbox_last_update = 0;
                                document.getElementById("frame_chatbox").contentWindow.document.getElementById('js-chatbox').style.display = 'none';
                            }
                                } catch (err) {
                                    // console.log(err)
                                }
                            }, 150);
                        }
                    }, 80);
                    // });
                }
            } catch (err) {
                // console.log(err)
            }
        });

        function forNext(oTarget, index, iLen) {
            for (; index < iLen;) {
                var oThis = jQuery(oTarget[index]),
                    sHref = oThis.find('.user > a').attr('href'),
                    oNext = oThis.next();

                if (sHref == undefined) break;

                if (oNext !== undefined) {
                    var sHrefP = oNext.find('.user > a').attr('href');

                    if (sHrefP == sHref) {
                        oThis.find('.msg').append('<div style="border: 1px solid rgb(240, 240, 240);padding: 2px 0;"><span title="">' + oNext.find('span[title]').text() + '</span> * ' + oNext.find('.msg').html() + '</div>');
                        oNext.remove();
                    } else {
                        index++;
                    }
                } else {
                    break;
                }
            }
            document.getElementById("frame_chatbox").contentWindow.document.getElementById('js-chatbox').innerHTML =
                document.getElementById("frame_chatbox").contentWindow.document.getElementById('chatbox').innerHTML;
            document.getElementById("frame_chatbox").contentWindow.document.getElementById('js-chatbox').scrollTop = 999999;
        }

   

  • Resultado:
                   
    Antes:
       
    Depois:
       

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

Cria uma conta ou logue para postar uma mensagem.

Você precisa ser um membro, para poder postar uma resposta.

Criar conta

Participe de nossa comunidade, basta se registrar. É Fácil!


Criar uma conta

Logar

Já tem uma conta? Sem problemas, Logue agora.


Logar-se

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