منتدى الدعم و المساعدة لأحلى المنتديات
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

جافا سكربت / تنبيه بشكل جديد وحصري في حال وجود رسالة في علبة الدردشة !

اذهب الى الأسفل

جافا سكربت / تنبيه بشكل جديد وحصري في حال وجود رسالة في علبة الدردشة ! Empty جافا سكربت / تنبيه بشكل جديد وحصري في حال وجود رسالة في علبة الدردشة !

مُساهمة من طرف Mr.TnT الثلاثاء 21 أبريل 2015 - 2:14

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

نكمل في مسيره نقل وترجمة الأكواد الحصرية بعد التطوير الذي حصل على علبة الدردشة
بعد هذا التطوير صدرت عدّه أكواد من برمجة وتطوير أجنبي .. وها نحن ذا نحاول قدر المستطاع إيصال كل ما هو جديد لكم! وحصرياً.

مثال أجنبي للكود :
جافا سكربت / تنبيه بشكل جديد وحصري في حال وجود رسالة في علبة الدردشة ! W5zRA4W
مثال حصري بعد تعريب وتركيب الكود على منتدى تجريبي :
جافا سكربت / تنبيه بشكل جديد وحصري في حال وجود رسالة في علبة الدردشة ! O_a10

الان الكود
يتم تركيبه في الجافا سكربت:
الكود:
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 = '!! رسالة جديدة !! '+title;
    var rep_icon = 'http://illiweb.com/fa/fdf/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){}})
});


الكود شغّال ويعمل 100% وتمت تجربته عدّة مرات ولا يوجد به أي خلل أو عطل


تم النقل والتعريب من قبلي .. دمتم بخير

Mr.TnT
Mr.TnT
 
 

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

http://www.ce-scripts.net/

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

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

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