|
|
Строка 1: |
Строка 1: |
| /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | | // Для поиска и применения стилей к .citizen-table-wrapper |
| | document.querySelectorAll('.citizen-table-wrapper').forEach(function(wrapper) { |
| | if (wrapper.querySelector('.job_gear')) { |
| | wrapper.style.overflowX = 'unset'; // Применяем стиль |
| | } |
| | }); |
|
| |
|
| function insertAfter(newNode, referenceNode) {
| | // Для поиска и применения стилей к .citizen-overflow--right |
| referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
| | document.querySelectorAll('.citizen-overflow--right').forEach(function(overflowRight) { |
| }
| | if (overflowRight.querySelector('.job_gear')) { |
| | | overflowRight.style.webkitMaskImage = 'unset'; // Для WebKit браузеров (Safari) |
| // Код данте ниже | | overflowRight.style.maskImage = 'unset'; // Для остальных браузеров |
| function setupTabs() {
| | } |
| const tabHeaders = document.querySelectorAll('.tab-header');
| | }); |
| const tabContents = document.querySelectorAll('.tab-content');
| |
| console.log("Количество заголовков вкладок:", tabHeaders.length);
| |
| console.log("Количество содержимого вкладок:", tabContents.length);
| |
| tabHeaders.forEach(function(header, index) {
| |
| header.addEventListener('click', function() {
| |
| console.log("Клик по вкладке:", index);
| |
| tabHeaders.forEach(function(h) {
| |
| h.classList.remove('active');
| |
| });
| |
| tabContents.forEach(function(c) {
| |
| c.classList.remove('active');
| |
| });
| |
| header.classList.add('active');
| |
| tabContents[index].classList.add('active');
| |
| });
| |
| }); | |
| }
| |
| mw.hook('wikipage.content').add(setupTabs);
| |
| // выше, ниже мой недо скрип
| |
| | |
| // Конец данте
| |
| | |
| function addCopyButtons() {
| |
| var codeBlocks = document.querySelectorAll('code:not(.copy-processed)');
| |
| | |
| codeBlocks.forEach(function(block) {
| |
| var copyButton = document.createElement('button'); | |
| copyButton.textContent = 'Copy';
| |
| copyButton.className = 'copy-button';
| |
| | |
| copyButton.addEventListener('click', function() {
| |
| var textArea = document.createElement('textarea');
| |
| textArea.value = block.textContent;
| |
| document.body.appendChild(textArea);
| |
| textArea.select();
| |
| document.execCommand('copy');
| |
| document.body.removeChild(textArea);
| |
| alert('Содержимое скопировано!');
| |
| }); | |
| | |
| insertAfter(copyButton, block);
| |
| block.classList.add('copy-processed');
| |
| });
| |
| }
| |
| | |
| // Функция для форматирования содержимого блоков <code>
| |
| function formatCodeBlocks() {
| |
| var codeBlocks = document.querySelectorAll('code:not(.formatted)');
| |
| | |
| codeBlocks.forEach(function(block) {
| |
| // Заменяем пробелы на неразрывные пробелы и вставляем <br> для переносов строк
| |
| block.innerHTML = block.textContent.replace(/ /g, '\u00A0').replace(/\n/g, '<br>');
| |
| block.classList.add('formatted');
| |
| });
| |
| }
| |
| | |
| function formatNullDocsAbout() {
| |
| $('.docs-about').each(function() {
| |
| if ($(this).html().includes("{{{Примечание документа}}}")) {
| |
| $(this).hide();
| |
| }
| |
| }); | |
| } | |
| | |
| // Вызываем функции после загрузки страницы
| |
| mw.hook('wikipage.content').add(formatCodeBlocks);
| |
| mw.hook('wikipage.content').add(addCopyButtons);
| |
| mw.hook('wikipage.content').add(formatNullDocsAbout);
| |