جافا سكربت / حصريا كود إضافة نغمة مع كل رسالة جديدة في علبة الدردشة

اذهب الى الأسفل 
كاتب الموضوعرسالة
Mr.TnT
 
 
Mr.TnT


ذكر
عدد المساهمات : 798
معدل النشاط : 5719
السُمعة : 19

جافا سكربت / حصريا كود إضافة نغمة مع كل رسالة جديدة في علبة الدردشة Empty
مُساهمةموضوع: جافا سكربت / حصريا كود إضافة نغمة مع كل رسالة جديدة في علبة الدردشة   جافا سكربت / حصريا كود إضافة نغمة مع كل رسالة جديدة في علبة الدردشة Emptyالثلاثاء 21 أبريل 2015 - 2:26

السلام عليكم ورحمة الله وبركاته

حصريا وبإنفراد كود إضافة نغمة مع كل رسالة جديدة في علبة الدردشة

الكود :
الكود:
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.mono.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.readyState > 0) 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) {
        if(a.readyState > 0) 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);
            if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (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.cloneNode(true))})}catch(a){}})
});

شرح الكود :
هام تابع معي ..

يوجد 4 نغمات وهم :
1- https://illiweb.com/fa/fdf/future.mp3
2- https://illiweb.com/fa/fdf/hal.mp3
3- https://illiweb.com/fa/fdf/secret.mp3
4- https://illiweb.com/fa/fdf/zelda.mono.mp3

رقم 1 تحمل إسم future
رقم 2 تحمل اسم hal
رقم 3 تحمل اسم secret
رقم 4 تحمل اسم zelda

النغمة الإفتراضية عند تركيب الكود هي zelda ( رقم 4 )..
ولتغيير النغمة إبحث عن
الكود:
    var default_sound = sounds['zelda'];
إستبدل كلمة zelda بإسم النغمة المطلوبة
مثلا لو تريد نغمة hal ضعها كالتالي :
الكود:
    var default_sound = sounds['hal'];

باقي الإعدادات إتركها لا تعبث بها

اقتباس :
يُفضل إستخدام النسخة phpBB3, كون النُسخ البقيه أحيانآ لا تشتغل.

منقول من منتدى أجنبي, لكن الشرح والتقديم من قبلي.
جميع الحقوق محفوظة Mr.TnT
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://www.ce-scripts.net/
 
جافا سكربت / حصريا كود إضافة نغمة مع كل رسالة جديدة في علبة الدردشة
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» جافا سكربت / إضافة الصورة الشخصية بجانب الإسم في علبة الدردشة
» جافا سكربت / تنبيه بشكل جديد وحصري في حال وجود رسالة في علبة الدردشة !
» علبة الدردشة: إضافة ستة أزرار جديدة للتفاعل السريع
» عمل انذار صوتي عند تلقي رسالة جديدة في علبة الدردشة
» اريد نغمة لرسالة جديدة فى الدردشة

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى الدعم و المساعدة لأحلى المنتديات :: أحلى منتدى ::   :: التقنيات المتقدمة :: أكواد الجافا إسكريبت JAVA-
انتقل الى: