مدیاویکی:Common.js
ظاهر
نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
/* Any JavaScript here will be loaded for all users on every page load. */
// بسته بودن پیشفرض سایدبارها در skin Vector 2022
if (mw.config.get( 'skin' ) === 'vector-2022') {
// از یک MutationObserver استفاده میکنیم تا مطمئن شویم صفحه کاملاً آماده و انیمیشنها بارگذاری شدهاند.
const observer = new MutationObserver(function(mutationsList, observer) {
for (const mutation of mutationsList) {
// به دنبال کلاسی میگردیم که نشان میدهد صفحه برای تعامل آماده است.
if (mutation.target.classList.contains('vector-animations-ready')) {
// بستن منوی اصلی (سایدبار چپ)
const pinMainMenuButton = document.querySelector('[data-event-name="pinnable-header.vector-main-menu.pin"]');
if (pinMainMenuButton && pinMainMenuButton.getAttribute('aria-pressed') === 'true') {
// اگر دکمه در حالت "پین شده" است (aria-pressed=true)، آن را کلیک میکنیم تا بسته شود.
pinMainMenuButton.click();
}
// بستن منوی ابزارهای صفحه (سایدبار راست)
const pinPageToolsButton = document.querySelector('[data-event-name="pinnable-header.vector-page-tools.pin"]');
if (pinPageToolsButton && pinPageToolsButton.getAttribute('aria-pressed') === 'true') {
// اگر دکمه در حالت "پین شده" است، آن را کلیک میکنیم تا بسته شود.
pinPageToolsButton.click();
}
// بعد از انجام کار، observer را غیرفعال میکنیم.
observer.disconnect();
break;
}
}
});
// شروع به نظارت بر تغییرات کلاس روی المان <html> میکنیم.
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
}