Stack Overflow: кнопка копирования кода
Добавляет к каждому блоку кода небольшую кнопку «Copy», копирующую всё содержимое в буфер обмена.
Код для копирования
/* Add a "Copy" button to every code block */
(function () {
function addButtons() {
document.querySelectorAll('.s-prose pre, .js-post-body pre').forEach(function (pre) {
if (pre.dataset.sofCopy) return;
pre.dataset.sofCopy = '1';
pre.style.position = 'relative';
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:6px;right:6px;font-size:11px;padding:2px 8px;cursor:pointer;border:1px solid #aaa;border-radius:4px;background:#fff;z-index:5;';
btn.addEventListener('click', function () {
var code = pre.querySelector('code') || pre;
navigator.clipboard.writeText(code.innerText).then(function () {
btn.textContent = 'Copied!';
setTimeout(function () { btn.textContent = 'Copy'; }, 1500);
});
});
pre.appendChild(btn);
});
}
addButtons();
new MutationObserver(addButtons).observe(document.body, { childList: true, subtree: true });
})();
Как использовать этот пример
- Скопируй код кнопкой выше.
- Установи JustZix (2 минуты) и открой расширение на нужной странице.
- Добавь новое правило, совпадающее с этой страницей.
- Вставь код в панель JavaScript правила и сохрани — он запускается при каждом заходе на страницу.
Оцени этот пример
Оценок пока нет — оцени первым.