MediaWiki:Common.js: различия между версиями
Shihov (обсуждение | вклад) Нет описания правки |
Shihov (обсуждение | вклад) Нет описания правки |
||
| Строка 62: | Строка 62: | ||
console.log("Клик по элементу страницы, переходим:", link); | console.log("Клик по элементу страницы, переходим:", link); | ||
// Сохраняем HTML дерева перед переходом | // Сохраняем HTML дерева перед переходом | ||
saveTreeHTML(); | |||
// Сохраняем заголовок страницы в localStorage | |||
localStorage.setItem('lastOpenedPageTitle', $item.text().trim()); | |||
window.location.href = link; | window.location.href = link; | ||
} | } | ||
| Строка 72: | Строка 74: | ||
// Сохраняем HTML дерева при выгрузке страницы (например, при закрытии вкладки) | // Сохраняем HTML дерева при выгрузке страницы (например, при закрытии вкладки) | ||
$(window).on('beforeunload', saveTreeHTML); | $(window).on('beforeunload', saveTreeHTML); | ||
}); | |||
$(document).ready(function() { | |||
// После загрузки страницы | |||
setTimeout(function() { | |||
// Получаем заголовок последней открытой страницы из localStorage | |||
var lastOpenedPageTitle = localStorage.getItem('lastOpenedPageTitle'); | |||
// Если заголовок есть в localStorage | |||
if (lastOpenedPageTitle) { | |||
console.log("Последняя открытая страница:", lastOpenedPageTitle); | |||
// Ищем элемент дерева категорий с таким заголовком | |||
var $lastOpenedItem = $('.CategoryTreeItem').filter(function() { | |||
return $(this).text().trim() === lastOpenedPageTitle; | |||
}); | |||
// Если элемент найден | |||
if ($lastOpenedItem.length) { | |||
console.log("Элемент найден, прокручиваем к нему."); | |||
// Прокручиваем страницу к элементу | |||
$('html, body').animate({ | |||
scrollTop: $lastOpenedItem.offset().top - 100 // Вычитаем 100px, чтобы элемент не прилипал к верху страницы | |||
}, 500); | |||
// Удаляем заголовок из localStorage, чтобы больше не прокручивать | |||
localStorage.removeItem('lastOpenedPageTitle'); | |||
} else { | |||
console.log("Элемент не найден."); | |||
} | |||
} else { | |||
console.log("Заголовок последней открытой страницы не найден."); | |||
} | |||
}, 500); // Задержка в 500 миллисекунд | |||
}); | }); | ||