function copyToClipboard(codeElement) { let copyCodeElement = codeElement.cloneNode(true); const iconCopy = copyCodeElement.querySelector(".omni_block-copy"); if (iconCopy) { copyCodeElement.removeChild(iconCopy); } let codeText = copyCodeElement.innerText.trim(); const omniText = document.createElement('textarea'); omniText.style.position = 'fixed'; omniText.style.left = '0'; omniText.style.top = '0'; omniText.style.opacity = '0'; omniText.value = codeText; document.body.appendChild(omniText); omniText.focus(); omniText.select(); document.execCommand('copy'); document.body.removeChild(omniText); } function copyButtonClick(button) { const parentContainer = button.parentElement; const codeElement = parentContainer.querySelector("pre, code"); if (codeElement) { copyToClipboard(codeElement); } } document.addEventListener("click", function (event) { if (event.target.classList.contains("omni_block-copy")) { copyButtonClick(event.target); } });
syntax highlighting test
Последние изменения: 19.09.2023Помогла ли вам статья?