مدیاویکی: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 applyDarkModeClass() { | 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); | var rgb = bgColor.match(/\d+/g); | ||
if (rgb) | 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); | |||
})(); | |||
نسخهٔ ۱۱ ژوئن ۲۰۲۵، ساعت ۲۳:۱۵
(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);
})();