پرش به محتوا

مدیاویکی:Common.js: تفاوت میان نسخه‌ها

از دانشنامه دوبله و صداگذاری ایران
صفحه‌ای تازه حاوی «Any JavaScript here will be loaded for all users on every page load.: function applyDarkModeClass() { var body = document.body; var bgColor = window.getComputedStyle(body).backgroundColor; var isDark = false; if (bgColor) { var rgb = bgColor.match(/\d+/g); if (rgb) { var r = parseInt(rgb[0]); var g = parseInt(rgb[1]); var b = parseInt(rgb[2]); var brightness = (r*299 + g*587 + b*114) / 1000;...» ایجاد کرد
 
جزبدون خلاصۀ ویرایش
 
(یک نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد)
خط ۱: خط ۱:
/* Any JavaScript here will be loaded for all users on every page load. */
(function() {
function applyDarkModeClass() {
   function detectDarkMode() {
   var body = document.body;
    const bgColor = window.getComputedStyle(document.body).backgroundColor;
  var bgColor = window.getComputedStyle(body).backgroundColor;
    // تبدیل rgb(34, 34, 34) به [34,34,34]
  var isDark = false;
     const rgb = bgColor.match(/\d+/g);
  if (bgColor) {
     if (!rgb) return;
     var rgb = bgColor.match(/\d+/g);
 
     if (rgb) {
    // محاسبه روشنایی نسبی (luminance)
      var r = parseInt(rgb[0]);
    const r = parseInt(rgb[0], 10);
      var g = parseInt(rgb[1]);
    const g = parseInt(rgb[1], 10);
      var b = parseInt(rgb[2]);
    const b = parseInt(rgb[2], 10);
      var brightness = (r*299 + g*587 + b*114) / 1000;
    const luminance = 0.2126*r + 0.7152*g + 0.0722*b;
      if (brightness < 128) {
 
        isDark = true;
    if (luminance < 128) {
       }
      document.body.classList.add('dark-mode');
    } else {
       document.body.classList.remove('dark-mode');
     }
     }
   }
   }
   if (isDark) {
 
    body.classList.add('dark-mode');
   // اجرا در شروع بارگذاری صفحه
   } else {
  detectDarkMode();
    body.classList.remove('dark-mode');
 
   }
   // همچنین می‌توان در صورت تغییر سایز یا تغییر تم با setInterval دوباره بررسی کرد (اختیاری)
}
   window.addEventListener('resize', detectDarkMode);
window.addEventListener('load', applyDarkModeClass);
})();

نسخهٔ کنونی تا ‏۱۱ ژوئن ۲۰۲۵، ساعت ۲۳:۱۸

(function() {
  function detectDarkMode() {
    const bgColor = window.getComputedStyle(document.body).backgroundColor;
    // تبدیل rgb(34, 34, 34) به [34,34,34]
    const rgb = bgColor.match(/\d+/g);
    if (!rgb) return;

    // محاسبه روشنایی نسبی (luminance)
    const r = parseInt(rgb[0], 10);
    const g = parseInt(rgb[1], 10);
    const b = parseInt(rgb[2], 10);
    const luminance = 0.2126*r + 0.7152*g + 0.0722*b;

    if (luminance < 128) {
      document.body.classList.add('dark-mode');
    } else {
      document.body.classList.remove('dark-mode');
    }
  }

  // اجرا در شروع بارگذاری صفحه
  detectDarkMode();

  // همچنین می‌توان در صورت تغییر سایز یا تغییر تم با setInterval دوباره بررسی کرد (اختیاری)
  window.addEventListener('resize', detectDarkMode);
})();