מדיה ויקי:Common.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
// קוד קיים - משאירים אותו
(function () {
var userLang = mw.config.get('wgUserLanguage');
var pageName = mw.config.get('wgPageName');
if (pageName === 'רבי_יואל_טייטלבוים' && userLang === 'yi') {
window.location.href = mw.util.getUrl('רבי_יואל_טייטלבוים/yi');
}
if (pageName === 'רבי_יואל_טייטלבוים/yi' && userLang === 'he') {
window.location.href = mw.util.getUrl('רבי_יואל_טייטלבוים');
}
})();
// הקוד החדש - מוסיפים אחרי הקוד הקיים
// מוסיפים את זה אחרי הקוד הקיים ב-MediaWiki:Common.js
mw.hook('wikipage.content').add(function ($content) {
if ($('#toc').length) { // בודק אם יש תוכן עניינים בדף
var $toc = $('#toc');
var $headers = $('h2, h3');
var $tocLinks = $('#toc a');
var $firstHeading = $('#firstHeading');
// פונקציה לעדכון מיקום תוכן העניינים
function updateTocPosition() {
var headerHeight = $firstHeading.offset().top + $firstHeading.outerHeight();
if ($(window).scrollTop() > headerHeight) {
$toc.css('top', '0');
} else {
$toc.css('top', '220px');
}
}
// פונקציה להדגשת הסעיף הנוכחי
function highlightCurrentSection() {
var scrollPosition = $(window).scrollTop();
$headers.each(function() {
var $header = $(this);
var sectionTop = $header.offset().top;
if (scrollPosition >= sectionTop - 150) {
var id = $header.attr('id');
$tocLinks.removeClass('active');
$tocLinks.filter('[href="#' + id + '"]').addClass('active');
}
});
}
// הוספת מאזיני אירועים
$(window).on('scroll.toc', function() {
requestAnimationFrame(function() {
updateTocPosition();
highlightCurrentSection();
});
});
// קריאה ראשונית
updateTocPosition();
highlightCurrentSection();
}
});