有些EMLOG模板主题里代码块作者是默认没有写复制按钮的,自己鼠标光标滑动数值又太麻烦,这时候我们就可以自己手动添加一个复制代码的按钮

教程开始
1.找到网站目录下的/content/templates/主题文件夹/xxx.js(ps:xxx因为每个作者的命名习惯不一样,选自己主题对应的)
2.在末尾处添加一下添加一下代码
document.addEventListener('DOMContentLoaded', function() { // 精准匹配你的代码块:pre.language-php const codeBlocks = document.querySelectorAll('pre.language-php'); codeBlocks.forEach(block => { // 跳过已加按钮的代码块 if (block.querySelector('.code-copy-btn')) return; // 创建复制按钮 const copyBtn = document.createElement('button'); copyBtn.className = 'code-copy-btn'; copyBtn.innerText = '复制代码'; // 绑定复制事件 copyBtn.addEventListener('click', function() { const code = block.innerText.trim(); const textarea = document.createElement('textarea'); textarea.value = code; document.body.appendChild(textarea); textarea.select(); document.execCommand('copy'); document.body.removeChild(textarea); // 按钮反馈 copyBtn.innerText = '复制成功'; setTimeout(() => copyBtn.innerText = '复制代码', 2000); }); // 把按钮加到代码块里 block.appendChild(copyBtn); }); });
3.把第三行中的pre.language-php改成自己代码块名字(理由同1.ps)
4.最后一步,添加下面这段代码到style.css文件里
/* 给代码块加相对定位,让按钮在内部 */ pre.language-php { position: relative; /* 关键:按钮以这个代码块为基准定位 */ padding: 15px; /* 给按钮留空间,避免贴边 */ } /* 复制按钮样式(适配你的代码块) */ .code-copy-btn { position: absolute; top: 8px; /* 距离代码块顶部8px */ right: 8px; /* 距离代码块右侧8px */ padding: 4px 10px; border: none; border-radius: 4px; background: #007bff; color: white; cursor: pointer; font-size: 12px; z-index: 10; /* 确保在代码上面,不被覆盖 */ } .code-copy-btn:hover { background: #0056b3; }

微信扫一扫
支付宝扫一扫 