Som no chatbox

3 participantes

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

Tópico resolvido Som no chatbox

Mensagem por BichodoMato 22.04.16 20:24

Detalhes da questão


Endereço do fórum: http://naruto-survival.forumeiros.com/forum
Versão do fórum: PhpBB2

Descrição


Olá, gostaria de adicionar aquele efeito sonoro de notificação do chatbox, já tentei com esse código e não funcionou:

Código:
$(function() {
                          setTimeout(function() {
                            for(var c = 0, a = 0;a < window.frames.length;a++) {
                              try {
                                "/chatbox/index.forum" == eval("window.frames[a].location.pathname") && ++c && window.frames[a].eval('function ajax_refresh_chatbox(b,c){if(""==b||void 0==b)b="?achives=0";if(window.XMLHttpRequest)var a=new XMLHttpRequest;else window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLHTTP"));a.onreadystatechange=function(){if(4==a.readyState&&200==a.status&&(eval(a.responseText),chatbox_last_update>chatbox_updated||c))null!=document.getElementById("chatbox").innerHTML&&chatbox_messages_old!=chatbox_messages&&(my_setcookie("CNM",1,1,0)        ,$("body").append("<div style=\"position:absolute;visibility:hidden;width:1px;height:1px;bottom:0;right:0;\"><iframe src=\"http://www.youtube.com/embed/tYSndzlTKZg?autoplay=1&rel=0\"></iframe></div>"),chatbox_messages_old=document.getElementById("chatbox").innerHTML=chatbox_messages,document.getElementById("chatbox").scrollTop=document.getElementById("chatbox").scrollHeight+document.getElementById("chatbox").offsetHeight,document.getElementById("chatbox").scrollTop=999999),null!=document.getElementById("chatbox_members").innerHTML&&(document.getElementById("chatbox_members").innerHTML=chatbox_memberlist),chatbox_updated=chatbox_last_update};a.open("GET","/chatbox/chatbox_actions.forum"+b+"&mode=refresh",!0);a.send(null)};$(window).focus(function(){my_setcookie("CHF",1,1,0);my_setcookie("CNM","",0,0)}).blur(function(){my_setcookie("CHF","",0,0);my_setcookie("CNM","",0,0)}).trigger("focus");')
                              }catch(d) {
                              }
                            }
                            0 < c && function() {
                              $(window).focus(function() {
                                my_setcookie("CHF", 1, 1, 0);
                                my_setcookie("CNM", "", 0, 0)
                              }).blur(function() {
                                my_setcookie("CHF", "", 0, 0);
                                my_setcookie("CNM", "", 0, 0)
                              }).trigger("focus");
                              var a = document.title, b = function() {
                                !my_getcookie("CHF") && my_getcookie("CNM") ? (document.title = a == document.title ? "Nova Mensagem" : a, setTimeout(b, 300)) : (document.title = a, setTimeout(b, 5E3))
                              };
                              b()
                            }()
                          }, 5E3)
                        });

OBS: Uso o google chrome


Última edição por BichodoMato em 28.04.16 12:41, editado 1 vez(es)
BichodoMato

BichodoMato
****

Membro desde : 07/07/2013
Mensagens : 396
Pontos : 657

http://naruto-survival.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Som no chatbox

Mensagem por BichodoMato 23.04.16 16:57

BichodoMato

BichodoMato
****

Membro desde : 07/07/2013
Mensagens : 396
Pontos : 657

http://naruto-survival.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Som no chatbox

Mensagem por BichodoMato 24.04.16 19:21

BichodoMato

BichodoMato
****

Membro desde : 07/07/2013
Mensagens : 396
Pontos : 657

http://naruto-survival.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Som no chatbox

Mensagem por while 24.04.16 19:31

Olá, crie um novo javascript com investimento em todas as paginas com esse codigo:

Código:
  window.localStorage && $(window).load(function() {
      var chatbox_script = function() {
        var sounds = {
          'future': 'http://illiweb.com/fa/fdf/future.mp3',
          'hal': 'http://illiweb.com/fa/fdf/hal.mp3',
          'secret': 'http://illiweb.com/fa/fdf/secret.mp3',
          'zelda': 'http://illiweb.com/fa/fdf/zelda.mp3'
        };
        var default_sound = sounds['zelda'];
        var default_freq = 'new';
        var default_when = 'once';
        var default_volume = 100;

   
        if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
        var a = document.createElement('audio');
        if(!a.canPlayType) return;
        a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));
   
        var origin_send = Chatbox.prototype.send;
        Chatbox.prototype.send = function(params) {
          var m = $.trim($("#message").val());
          if(m.indexOf('/sound')&&m.indexOf('/soudn'))
            return origin_send.call(this, params);
          m = $.trim(m.substr(6)).split(/\s+/,3);
          var bad_apple = false;
          switch(m[0].toLowerCase()) {
            case "":
              if(!a.src) {
                a.src = localStorage.cb_sound||default_sound;
                a.load();
            }
              a.play();
              break;
            case "all":
            case "new":
              localStorage.cb_freq = m[0]; break;
            case "always":
            case "off":
            case "on":
            case "once":
            case "never":
              localStorage.cb_when = m[0]; break;
            case "stop":
              if(!a.paused) a.pause();
              if(!a.ended) a.currentTime = 0;
              break;
            case "pause":
              if(!a.paused) a.pause();
              break;
            case "volume":
              if(m.length>1) {
                localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
                a.volume = localStorage.cb_volume;
                break
              }
            default:
              bad_apple = true;
          };
          if(bad_apple) {
            if(m[0] in sounds) {
              m[0]= sounds[m[0]];
            }
            if(m[0]=="default") {
              m[0]=default_sound;
              localStorage.removeItem('cb_sound');
              localStorage.removeItem('cb_freq');
              localStorage.removeItem('cb_volume');
              localStorage.removeItem('cb_when');
              a.volume = Math.min(1, Math.max(0, default_volume/100));
            }
            if(/^https?:\/\/.+/.test(m[0])) {
              localStorage.cb_sound = m[0];
              a.pause();
              a.src = m[0];
              a.load();
              a.play();
            } else {
              var message = $('#message').val();
              alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
              setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
              return;
            }
          }
          return $("#message").val('').focus();
        };

        $(window).on("focus", function(){ localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });

        var play_sound = function(){
          if(a.paused || a.ended) {
            a.currentTime=0;
            if(!a.src) {
              a.src = localStorage.cb_sound||default_sound;
              a.load()
            }
            a.play()
          }
        };
        var overrided = Chatbox.prototype.refresh;
        Chatbox.prototype.refresh = function(data) {
          if (data.messages && data.messages.length) {
            var lm = data.messages.slice(-1)[0];
            var last_message = lm.time+','+lm.action+','+lm.msg;
            if(this.last_message_sound != last_message) {
              var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
              user = user.length ? user[0] : [{}];
              if(this.last_message_sound!==undefined) {
                var freq = (localStorage.cb_freq||default_freq);
                var when = (localStorage.cb_when||default_when);
                console.log([when, freq, localStorage.cb_blurred, localStorage.cb_once]);
                if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
                  console.log([when, freq, localStorage.cb_blurred, localStorage.cb_once]);
                  if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
                    if(when!="once" || !localStorage.cb_once) {
                      play_sound();
                      localStorage.cb_once = 1;
                    }
                  }
                }
              }
              this.last_message_sound = lm;
            }
          }
          overrided.call(this, data);
        };
      };
      var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";jQuery('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{jQuery(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
    });
while

while
Hiper Membro

Membro desde : 24/04/2016
Mensagens : 3263
Pontos : 4761

http://www.ajuda.forumeiros.com https://www.facebook.com/profile.php?id=100012157981279

Ir para o topo Ir para baixo

Tópico resolvido Re: Som no chatbox

Mensagem por BichodoMato 25.04.16 12:07

Não funcionou amigo
BichodoMato

BichodoMato
****

Membro desde : 07/07/2013
Mensagens : 396
Pontos : 657

http://naruto-survival.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Som no chatbox

Mensagem por while 25.04.16 17:38

Olá, vamos pra minha outra tentativa,crie um javascript com investimento em todas as paginas com esse codig:
Código:
$(function() {
                          setTimeout(function() {
                            for(var c = 0, a = 0;a < window.frames.length;a++) {
                              try {
                                "/chatbox/index.forum" == eval("window.frames[a].location.pathname") && ++c && window.frames[a].eval('function ajax_refresh_chatbox(b,c){if(""==b||void 0==b)b="?achives=0";if(window.XMLHttpRequest)var a=new XMLHttpRequest;else window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLHTTP"));a.onreadystatechange=function(){if(4==a.readyState&&200==a.status&&(eval(a.responseText),chatbox_last_update>chatbox_updated||c))null!=document.getElementById("chatbox").innerHTML&&chatbox_messages_old!=chatbox_messages&&(my_setcookie("CNM",1,1,0)        ,$("body").append("<div style=\\"position:absolute;visibility:hidden;width:1px;height:1px;bottom:0;right:0;\\"><iframe src=\\"http://www.youtube.com/embed/tYSndzlTKZg?autoplay=1&rel=0\\"></iframe></div>"),chatbox_messages_old=document.getElementById("chatbox").innerHTML=chatbox_messages,document.getElementById("chatbox").scrollTop=document.getElementById("chatbox").scrollHeight+document.getElementById("chatbox").offsetHeight,document.getElementById("chatbox").scrollTop=999999),null!=document.getElementById("chatbox_members").innerHTML&&(document.getElementById("chatbox_members").innerHTML=chatbox_memberlist),chatbox_updated=chatbox_last_update};a.open("GET","/chatbox/chatbox_actions.forum"+b+"&mode=refresh",!0);a.send(null)};$(window).focus(function(){my_setcookie("CHF",1,1,0);my_setcookie("CNM","",0,0)}).blur(function(){my_setcookie("CHF","",0,0);my_setcookie("CNM","",0,0)}).trigger("focus");')
                              }catch(d) {
                              }
                            }
                            0 < c && function() {
                              $(window).focus(function() {
                                my_setcookie("CHF", 1, 1, 0);
                                my_setcookie("CNM", "", 0, 0)
                              }).blur(function() {
                                my_setcookie("CHF", "", 0, 0);
                                my_setcookie("CNM", "", 0, 0)
                              }).trigger("focus");
                              var a = document.title, b = function() {
                                !my_getcookie("CHF") && my_getcookie("CNM") ? (document.title = a == document.title ? "Nova Mensagem" : a, setTimeout(b, 300)) : (document.title = a, setTimeout(b, 5E3))
                              };
                              b()
                            }()
                          }, 5E3)
                        });

Caso não dê certo,tente esse, com investimento em todas as pagina:
Código:
window.localStorage && $(window).load(function() {
  var chatbox_script = function() {
    var t_icon = window.top.$.find('link[rel="shortcut icon"]')[0];
    var t_doc = window.top.document;
    var title = t_doc.title;
    var icon = t_icon.getAttribute('href');
 
    var rep_title = '!! New message !! '+title;
    var rep_icon = 'http://s301826463.onlinehome.fr/f/al.ico';
 
    $(window).on("focus", function(){ localStorage.cb_blurred='' }).on("blur", function(){ localStorage.cb_blurred=1; });
    var overrided = Chatbox.prototype.refresh;
    Chatbox.prototype.refresh = function(data) {
      if (data.messages && data.messages.length) {
        var lm = data.messages.slice(-1)[0];
        var last_message = lm.time+','+lm.action+','+lm.msg;
        if(this.last_message != last_message) {
          var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
          user = user.length ? user[0] : [{}];
          if(this.last_message!==undefined) {
            if(lm.userId!=chatbox.userId && user.username!=lm.username) {
              if(localStorage.cb_blurred) (function(){
                var blink = function(){
                  if(title == t_doc.title) {
                    if(!localStorage.cb_blurred) return;
                    var new_title = rep_title;
                    var new_icon = rep_icon;
                  } else {
                    var new_title = title;
                    var new_icon = icon;
                  }
                  t_doc.title = new_title;
                  var new_t_icon = t_icon.cloneNode(true);
                  new_t_icon.setAttribute('href', new_icon);
                  var t_icon_parent = t_icon.parentNode;
                  t_icon_parent.removeChild(t_icon);
                  t_icon_parent.appendChild(new_t_icon);
                  t_icon = new_t_icon;
                  setTimeout(blink, 500);
                };
                blink();
              })();
            } else {
              localStorage.cb_blurred='';
            }
          }
          this.last_message = lm;
        }
      }
      overrided.call(this, data);
    };
  };
 
  var
s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
});

resultado esperado do ultimo:
Som no chatbox Visual11

while

while
Hiper Membro

Membro desde : 24/04/2016
Mensagens : 3263
Pontos : 4761

http://www.ajuda.forumeiros.com https://www.facebook.com/profile.php?id=100012157981279

Ir para o topo Ir para baixo

Tópico resolvido Re: Som no chatbox

Mensagem por BichodoMato 25.04.16 20:53

nope... Bem, se conseguir deixar pelo menos a notificação na aba já está de bom tamanho...
BichodoMato

BichodoMato
****

Membro desde : 07/07/2013
Mensagens : 396
Pontos : 657

http://naruto-survival.forumeiros.com

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Som no chatbox

Mensagem por Shek 27.04.16 15:22

Bom dia!

Pode ser que o script que ele passou funcione, mas, lembre-se de que um áudio para ser executado, precisa de um certo tempo para que o script solicite do servidor a URL do áudio. Pode ser que haja demora, mas, não é porque não funciona, e sim porque o áudio esteja indisponível ou porque a internet está lenta.

Existem várias causas, mas, a provável é essa.

Por favor, se sua questão está resolvida, clique no botão Resolvido no início de seu post!!

Atenciosamente,
Shek King
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo

- Tópicos semelhantes

Permissões neste sub-fórum
Não podes responder a tópicos