مدیاویکی: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);
})();