مدیاویکی: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;...» ایجاد کرد |
جزبدون خلاصۀ ویرایش |
||
| (یک نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد) | |||
| خط ۱: | خط ۱: | ||
(function() { | |||
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; | |||
if (rgb) | // محاسبه روشنایی نسبی (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); | |||
window.addEventListener(' | })(); | ||
نسخهٔ کنونی تا ۱۱ ژوئن ۲۰۲۵، ساعت ۲۳:۱۸
(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);
})();