37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
const copyButton = document.getElementById('copy-button');
|
|
if (!copyButton) return;
|
|
|
|
copyButton.addEventListener('click', function () {
|
|
// Seleccionar el bloque de código real (dentro de <td class="code">)
|
|
let codeBlock = document.querySelector('.highlight .code pre');
|
|
if (!codeBlock) {
|
|
console.error('No se encontró el bloque de código.');
|
|
return;
|
|
}
|
|
|
|
// Clonar el bloque de código para modificarlo sin afectar la página
|
|
let clonedCodeBlock = codeBlock.cloneNode(true);
|
|
|
|
// Si por alguna razón también hubiera números de línea dentro, eliminarlos
|
|
clonedCodeBlock.querySelectorAll('span.linenos, span.lineno, td.linenos, table.linenos, td.hljs-ln-numbers').forEach(el => el.remove());
|
|
|
|
// Extraer solo el código limpio
|
|
let cleanedText = clonedCodeBlock.textContent.trim();
|
|
|
|
// Verificar en consola qué se está copiando
|
|
console.log("Contenido copiado:", cleanedText);
|
|
|
|
// Copiar al portapapeles
|
|
navigator.clipboard.writeText(cleanedText)
|
|
.then(() => {
|
|
showToast('Copied to clipboard!', 'bg-success');
|
|
})
|
|
.catch(err => {
|
|
console.error('Error copying text:', err);
|
|
showToast('Failed to copy.', 'bg-danger');
|
|
});
|
|
});
|
|
});
|
|
|