Você não está conectado. Conecte-se ou registre-se

Chat por cima dos widgets

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Chat por cima dos widgets em Qui Mar 24, 2016 2:17 pm

estica2

avatar
Membro ativo

  • Descrição:
Boas malta,

Usei este tutorial:
[Tutorial] Usar o chatbox no modo "Arquivos"
http://www.bestskins.net/t5903-tutorial-usar-o-chatbox-no-modo-arquivos

Para retirar as mensagens de login. Mas o problema é que todos os JS que encontrei para meter o chat por cima do widgtes não funcionam.

O único que funcionou e meter um chat por cima dos widgets retirou o modo de Arquivos do chat...
  • Informações:
Fórum:http://www.tugavicio.com/forumVersão:PUNBB

Ver perfil do usuário

2 Re: Chat por cima dos widgets em Qui Mar 24, 2016 2:49 pm

GSCode

avatar
Admin

Olá, boa tarde.

Poderia mostrar onde queres o chatbox?

Até mais.



Administrador BS - 14/02/16.
Ver perfil do usuário

3 Re: Chat por cima dos widgets em Qui Mar 24, 2016 3:25 pm

estica2

avatar
Membro ativo

@GSCode obrigado pela respostas e peço desculpa de andar chato ultimamente.

Quero o chat onde esta mas por cima dos widgets no topo do fórum... Já usei todos os js que encontrei mas não funcionam... A maioria dele desativa o js dos Arquivos.

Ver perfil do usuário

4 Re: Chat por cima dos widgets em Qui Mar 24, 2016 9:09 pm

Cepheus

avatar
Admin

Aponte os links de quais Js você usou?

Veja:
Chatbox em cima dos widgets! 

No código do JScript, é pra ser incrementado no seu JS:
[Tutorial] Usar o chatbox no modo "Arquivos"

Procure o seguinte termo no "[Tutorial] Usar o chatbox no modo "Arquivos"":
Código:
// Redefine function!
function insertChatBox(chatbox_id, chatbox_url) {
   return insertChatBoxNew(chatbox_id, chatbox_url);
}

Após essa parte do código adicione:
Código:
   // Put the chat box on top of widgets!
   $('#' + chatbox_id).parent().detach().prependTo('#wrapper');

Ficará assim:
Código:
 
// Redefine function!
function insertChatBox(chatbox_id, chatbox_url) {
   return insertChatBoxNew(chatbox_id, chatbox_url);
}
  // Put the chat box on top of widgets!
   $('#' + chatbox_id).parent().detach().prependTo('#wrapper');





  • Gostou?
     não esqueça de
  • Reputar!



    Ver perfil do usuário

    5 Re: Chat por cima dos widgets em Qui Mar 24, 2016 9:52 pm

    estica2

    avatar
    Membro ativo

    Ver perfil do usuário

    6 Re: Chat por cima dos widgets em Sex Mar 25, 2016 10:32 am

    Cepheus

    avatar
    Admin

    Eu fiz a alteração manualmente, basta trocar "Chatbox no modo arquivos" por esse JS:
    Código:

    // Redefine function!
    function insertChatBox(chatbox_id, chatbox_url) {
          return insertChatBoxNew(chatbox_id, chatbox_url);
       }
       // Redefine function!
    function insertChatBoxNew(chatbox_id, chatbox_url) {
       // Put the chat box on top of widgets!
       $('#' + chatbox_id).parent().detach().prependTo('#wrapper');

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

    $(function() {
       if (_userdata.session_logged_in) {
          $('#frame_chatbox').load(function () {
             chat_archives();
          });
       }
    });

    function chat_archives() {
       var oIframe = (document.getElementById("frame_chatbox").contentWindow.document || document.getElementById("frame_chatbox").contentDocument),
          script = oIframe.createElement("script"),
          chatbox_script = function () {

          // "For" asynchronous loop, faster and does not lock the browser interface when you have many messages!
          (function ($) {
             $.assyncFor = function (arr, callback) {
                for (var i = 0, len = arr.length; i < len; ++i) {
                   var boundCallback = callback.bind(null, i, arr[i]);
                   setTimeout(boundCallback, i);
                }
                return this;
             };
          }(jQuery));

          var interval = 0;

          $("#chatbox_option_co, #chatbox_option_disco").bind("click", function () {
             $("#chatbox").empty();
          });

          Chatbox.prototype.refresh = function (data) {
             if (data.error) {
                $("body").html(data.error)
             } else {
                if (this.connected) {
                   $("#chatbox_display_archives").show();
                   $("#chatbox_option_co").hide();
                   $("#chatbox_option_disco, #chatbox_footer").show();
                   $("#chatbox_messenger_form").css('display', 'block');
                   $("#chatbox_messenger_form").css('visibility', 'visible');
                   $(".format-message").each(function () {
                      var name = $(this).attr('name');
                      var value = my_getcookie('CB_' + name);
                      $(this).prop('checked', parseInt(value) ? true : false)
                   });
                   this.format();
                   if (data.lastModified) {
                      this.listenParams.lastModified = data.lastModified
                   }
                   if (!interval) {
                      interval = setInterval(function () {
                         chatbox.init();
                      }, 5000);
                   }
                } else {
                   clearInterval(interval);
                   interval = 0;
                   $("#chatbox_option_co").show();
                   $("#chatbox_option_disco, #chatbox_footer").hide();
                   $("#chatbox_display_archives").hide();
                   $("#chatbox_messenger_form").css('display', 'none');
                   $("#chatbox_messenger_form").css('visibility', 'hidden');
                }
                if (data.users) {
                   this.users = [];
                   $(".online-users, .away-users").empty();
                   $(".member-title").hide();
                   for (var i in data.users) {
                      var user = data.users[i];
                      this.users[user.id] = user;
                      var username = "<span style='color:" + user.color + "'>" + (user.admin ? "@ " : "") + "<span class='chatbox-username chatbox-user-username' data-user='" + user.id + "' >" + user.username + "</span>" + "</span>";
                      var list = user.online ? '.online-users' : '.away-users';
                      $(list).append('<li>' + username + '</li>')
                   }
                   if (!$(".online-users").is(':empty')) {
                      $(".member-title.online").show()
                   }
                   if (!$(".away-users").is(':empty')) {
                      $(".member-title.away").show()
                   }
                }
                if (data.messages) {
                   var scroll = !this.messages || this.messages.length != data.messages.length;
                   this.messages = data.messages;

                   if (this.messages) {
                      var oThis = this; // Here we save the current "this" for use inside "For" asynchronous loop!

                      $.assyncFor(oThis.messages, function (index, content) { // The "For" asynchronous loop...
                         // Here checks if there is already a message in the DOM, if already, not need to process the same message!
                         if ($(".shout-" + index).length) {
                            return oThis;
                         }

                         var message = content, //                                       |ClassName index|
                            html = "<p class='chatbox_row_" + (index % 2 == 1 ? 2 : 1) + " clearfix shout-" + index + "'>" + "<span class='date-and-time' title='" + message.date + "'>[" + message.datetime + "]</span>";

                         if (message.userId == -10) {
                            html += "<span class='msg'>" + "<span style='color:" + message.msgColor + "'>" + "<strong> " + message.msg + "</strong>" + "</span>" + "</span>"
                         } else {
                            html += "<span class='user-msg'>";
                            if (oThis.avatar) {
                               html += "   <span class='cb-avatar'><img src='" + message.user.avatar + "' /></span>"
                            }
                            html += "   <span class='user' style='color:" + message.user.color + "'>" + "<strong> " + (message.user.admin ? "@ " : "") + "<span class='chatbox-username chatbox-message-username'  data-user='" + message.userId + "' >" + message.username + "</span> :&nbsp;" + "</strong>" + "</span>" + "<span class='msg'>" + message.msg + "</span>" + "</span>"
                         }
                         html += "</p>";

                         /**
                          * Here the "append" will not make slow the code execution since it is not within a synchronous loop,
                          * but instead in an asynchronous loop that schedules the execution later!
                          */
                         $("#chatbox").append(html);

                         if ((index + 1) == oThis.messages.length) {
                            if (scroll) {
                               $("#chatbox")[0].scrollTop = $("#chatbox").prop("scrollHeight") * 2
                            }
                         }
                      });
                   }
                }
             }
          };
          $("#chatbox").empty();
          chatbox.init();
          interval = setInterval(function () {
             chatbox.init();
          }, 5000);
       };

       script.type = "text/javascript";
       script.innerHTML = "(" + chatbox_script.toString() + ")();";
       oIframe.getElementsByTagName("head")[0].appendChild(script);
    }

    A linha já foi adicionada no código acima "Apenas para analisar":
    Código:
      $('#' + chatbox_id).parent().detach().prependTo('#wrapper');





  • Gostou?
     não esqueça de
  • Reputar!



    Ver perfil do usuário

    7 Re: Chat por cima dos widgets em Sex Mar 25, 2016 3:47 pm

    estica2

    avatar
    Membro ativo

    @Cepheus nem sei como agradecer amigo.

    Muito obrigado Smile

    Ver perfil do usuário

    8 Re: Chat por cima dos widgets em Dom Mar 27, 2016 6:50 pm

    GSCode

    avatar
    Admin

    [sucesso=Tópico Resolvido; e Bloqueado][/sucesso]



    Administrador BS - 14/02/16.
    Ver perfil do usuário

    Conteúdo patrocinado


    Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

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