Cargando...
Notificaciones Password  Username

Regresar CPortada - Mas que un foro, tu Comunidad.  » Recursos para Forumotion - Foroactivo » Scripts
Actualizar esta página Combinar mensajes seguido de un miembro de CHATBOX
Nombre de Usuario:
Contraseña:
   

Responder al tema
 
Herramientas Modos de visualización

  
(#1)
Old  Supervisor
">
Supervisor
Underground
2345751114/01/2010España
 

Que alguna vez se molestó con un puesto tras otro en una ventana de chat que tire la primera piedra...

Bueno, no me gusta especialmente porque es un muy contaminado visual...
Pensando en esto he desarrollado un código que unifica los mensajes seguido de un miembro de la misma, haciendo una lectura muy agradable, ver el código de abajo.

1º - Javascript

In the [Javascript codes management], add as follows:
Title* : JS_ChatMSGJoin
Placement : [x] En todas las paginas.

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;
}


2º - Preview

Antes:


Después



Funciona en todas las versiones y el código comprueba si ya existe un "iframe" para la ventana de chat , si no se crea una!



Comentar con facebook:
 
Permisos de este foro:
No puedes responder a temas en este foro.

 Los Códigos BB están Activado
 Los Emoticonos están Activado
 Código [IMG] está Activado
 Código HTML está Activado