Комментарий #9866656

animeshnik_ALT
Скрипты, которыми пользуюсь
Tampermonkey
Шики рейтинг
autoHideMenu Меняем shikimori.one на shikimori.me
Средняя оценка
/*Фикс скрипта рейтинга грина в e-design*/
.l-menu .mini-charts .scores .subheadline.m5, aside.l-menu .b-animes-menu .block:first-child .subheadline, .b-animes-menu .block:nth-child(2) .subheadline {
    justify-content: space-between;
}
История изменений тайтла
Shiki Friends Info
Shikimori comments loader
Shiki Collections List
New smileys
Copy code shikimori
// ==UserScript==
// @name         Copy code shikimori
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Копирует коды на шикимори, теперь не надо делать это вручную
// @author       Fujitawa
// @match        https://shikimori.me/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

function addCopyButtons() {
  const codeBlocks = document.getElementsByClassName('b-code-v2');

  for (let i = 0; i < codeBlocks.length; i++) {
    const codeBlock = codeBlocks[i];
    const codeElement = codeBlock.querySelector('code');

    if (!codeBlock.querySelector('button')) {
      const copyButton = document.createElement('button');
      copyButton.innerText = 'Скопировать код';

      copyButton.style.border = '1px dashed black';
      copyButton.style.padding = '0.2em 0.4em';
      copyButton.style.background = 'black';
      copyButton.style.marginBottom = '1em';
      copyButton.style.width = 'fit-content';
      copyButton.style.color = 'white';

      copyButton.addEventListener('click', function () {
        const codeText = codeElement.innerText;

        const textarea = document.createElement('textarea');
        textarea.value = codeText;

        document.body.appendChild(textarea);

        textarea.select();
        document.execCommand('copy');

        document.body.removeChild(textarea);

        copyButton.innerText = 'Скопировано!';
        copyButton.classList.add('copied');

        setTimeout(() => {
          copyButton.innerText = 'Скопировать код';
          copyButton.classList.remove('copied');
        }, 2000);
      });

      codeBlock.appendChild(copyButton);
    }
  }
}

function checkAndAddCopyButtons() {
  if (document.readyState === 'complete') {
    addCopyButtons();
  }
}

setInterval(checkAndAddCopyButtons, 1000);

const style = document.createElement('style');
style.innerHTML = `
    .b-code-v2 {
        display: flex;
        flex-direction: column-reverse;
    }
    .copied {
        color: green;
    }
`;
document.head.appendChild(style);
Ответы

Нет комментариев

назад
Твой комментарий
Вернуться к редактированию
Предпросмотр
Скрыть