منتديات سمسم
مرحبآ بكم في منتديات سمسم
الإعلانات
هام منتديات سمسم ترحب بكم


تم بحمد الله انتهاء من الصيانة وتم افتتاح المنتدى

كود اضافة صوت نغمة للدردشة 2016

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

avatar
samyfahem
المدير العام
المدير العام
عدد المساهمات : 48
تاريخ التسجيل : 03/09/2015
العمر : 38
معاينة صفحة البيانات الشخصي للعضو http://smsm2015.0wn0.com

مُساهمةsamyfahem في الثلاثاء سبتمبر 15, 2015 8:02 pm

السلام عليكم ورحمة الله وبركاتة
اليوم بنقدم كود جديد لعمل تنبية للدردشة يعمل في حال دخول اي عضو للدردشة ويعمل في حين ارسال اي رسائل في الدردشة مثل الفيس بوك فهو ينبهك بان احد الاعضاء يكتب في الدردشة للتواصل معه وصوت الدردشة يظهر لجميع الاعضاء وليس للمدير فقط
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

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





الكود:
        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){}})
        });

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة

مواضيع مماثلة

للمشاركة انت بحاجه الى تسجيل الدخول او التسجيل

يجب ان تعرف نفسك بتسجيل الدخول او بالاشتراك معنا للمشاركة

التسجيل

انضم الينا لن يستغرق منك الا ثوانى معدودة!


أنشئ حساب جديد

تسجيل الدخول

ليس لديك عضويه ؟ بضع ثوانى فقط لتسجيل حساب


تسجيل الدخول

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى