ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Invité le Lun 23 Fév 2015 - 18:51

pas compris ou inserer j'ai vue on pouvais ajouter des option a un code java ou modifier dans les ligne


exenples moi je veux "all" ou l'inserer dans se code merci d'avence

Code:
window.localStorage && $(window).load(function() {
  var chatbox_script = function() {
    var sounds = {
      'future': 'http://s301826463.onlinehome.fr/f/future.mp3',
      'hal': 'http://s301826463.onlinehome.fr/f/hal.mp3',
      'secret': 'http://s301826463.onlinehome.fr/f/secret.mp3',
      'zelda': 'http://s301826463.onlinehome.fr/f/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) {
        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()+")();";$('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)})}catch(a){}})
});

sounds contient une table de raccourcis faisant correspondre commande : url de fichier audio, cela permet de changer facilement de son.

Après ça il y a également une série de variable pour des valeurs par défaut :

default_sound : contient l'url du fichier audio par défaut ( si l'utilisateur n'en a pas choisi un autre ).

default_freq : indique sur quels messages on veut une notification, plusieurs valeurs sont possibles :

"all" => on veut un son à tout les messages (même un écrit par nous-même),
"new" => on ne veut un son qu'à un nouveau message écrit par un autre membre.
default_when : indique quand les notifications doivent être produites, plusieurs valeurs sont possibles :

"always" => on veut un son qu'on soit sur la chatbox ou pas,
"on" => on veut les sons seulement quand on est sur la chatbox,
"off" => on veut les sons seulement quand on est pas sur la chatbox,
"once" => on veut recevoir au maximum une notification depuis la dernière fois qu'on était sur la chatbox,
"never" => on ne veut aucune notification sonore.
default_volume : le niveau sonore de la notification, un nombre de 0 à 100


Dernière édition par pt55 le Mar 24 Fév 2015 - 19:52, édité 1 fois

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Neptunia le Lun 23 Fév 2015 - 19:19

Bonjour ^^

all étant l'un des paramètres possibles pour default_freq vous devrez remplacer dans le script
Code:
  var default_freq = 'new';
par
Code:
  var default_freq = 'all';

Neptunia
+ Hyperactif +

Féminin
Messages : 10394
Inscrit(e) le : 08/08/2010

http://www.planet-series.com/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Invité le Lun 23 Fév 2015 - 19:50

merci neptune je vais tester

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Invité le Lun 23 Fév 2015 - 20:23

trop compliquer sa marche pas neptune pourquoi ta tester en renplacent


Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Invité le Lun 23 Fév 2015 - 20:57

up

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par gigi68 le Lun 23 Fév 2015 - 21:45

Code:
window.localStorage && $(window).load(function() {
  var chatbox_script = function() {
    var sounds = {
      'future': 'http://s301826463.onlinehome.fr/f/future.mp3',
      'hal': 'http://s301826463.onlinehome.fr/f/hal.mp3',
      'secret': 'http://s301826463.onlinehome.fr/f/secret.mp3',
      'zelda': 'http://s301826463.onlinehome.fr/f/zelda.mp3'
    };
    var default_sound = sounds['zelda'];
    var default_freq = 'all';
    var default_when = 'always';
    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) {
        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()+")();";$('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)})}catch(a){}})
});

Comme ceci !
Cliques sur accueil après avoir instalé ce code javascript sur toutes les page ...
et ensuit dans la chatbox tu met ceci /sound default et cliques sur envoyer !

Cordialement

gigi68
***

Masculin
Messages : 197
Inscrit(e) le : 31/05/2014

http://motardalsace68.forumactif.org/forum
gigi68 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Invité le Lun 23 Fév 2015 - 22:33

justement au lieux de me faire un son sa me fait /sound sa le marque alor que ça devrait pas comme je disai a neptune tu la tester sur un chat box parce que moi sa fait rien ton code

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Invité le Lun 23 Fév 2015 - 22:45

Up

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Ea le Lun 23 Fév 2015 - 23:10

Tout ces codes n'agissent que sur les chatbox étant mises sur des pages sur lesquels le code s'exécute.

Donc par exemple si on a une chatbox incluse sur l'index il faut ajouter le code sur l'index.

Si ça ne fonctionne pas dans un cas similaire, c'est soit :

=> 1) qu'il y a une erreur à laquelle je n'ai pas pensé ( dépendante d'un navigateur par exemple ),
=> 2) qu'il y a une erreur dans le code inséré,
=> 3) qu'il y a une erreur dans un autre code javascript,
=> 4) qu'il fonctionne.

Pour le 1er point c'est difficile à dire, pour le 2ème et 3ème il suffit parfois juste de visiter la page où il y a le problème sans être connecté ( ou si ça ne suffit pas en étant connecté à un compte de test par exemple ).

Cordialement.

Ea
Aidactif
Aidactif

Messages : 23427
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ou inserer un gadget SON ♫ ♪ dans un code java du chat box

Message par Invité le Mar 24 Fév 2015 - 19:51

test résolu merci apparemment je touche plus a rien merci tous le monde

j'ai remis ce code je me suis dit merde ça va marcher var default_freq = 'all'; et jai fermer le navigateur et j'ai réouvert et j'ai mie /sound

super ton code quand on c'est l'utiliser Very Happy

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum