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Помогла ли вам статья?