پرش به محتوا

مدیاویکی:Common.js

از دانشنامه دوبله و صداگذاری ایران

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
(function() {
  function applyDarkModeClass() {
    var body = document.body;
    if (!body) return;

    // خواندن رنگ پس‌زمینه صفحه
    var bgColor = window.getComputedStyle(body).backgroundColor;
    if (!bgColor) return;

    // تبدیل به مقادیر عددی RGB
    var rgb = bgColor.match(/\d+/g);
    if (!rgb || rgb.length < 3) return;

    var r = parseInt(rgb[0], 10);
    var g = parseInt(rgb[1], 10);
    var b = parseInt(rgb[2], 10);

    // فرمول روشنایی (Brightness)
    var brightness = (r * 299 + g * 587 + b * 114) / 1000;

    // اگر روشنایی کمتر از 128 بود حالت تاریک در نظر گرفته شود
    if (brightness < 128) {
      body.classList.add('dark-mode');
    } else {
      body.classList.remove('dark-mode');
    }
  }

  // اجرا هنگام بارگذاری صفحه
  window.addEventListener('load', applyDarkModeClass);

  // و در صورت تغییر حالت رنگ (اختیاری)
  // window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', applyDarkModeClass);
})();