|
|
Строка 1: |
Строка 1: |
| /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
| |
|
| |
| function insertAfter(newNode, referenceNode) {
| |
| referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
| |
| }
| |
|
| |
| // Код данте ниже
| |
| 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);
| |
|
| |
|
| |
| document.addEventListener("DOMContentLoaded", function() { | | document.addEventListener("DOMContentLoaded", function() { |
| var headers = document.querySelectorAll("h3"); | | var headers = document.querySelectorAll("h3"); |