//html5 给typecho添加 复制代码 功能 // by 兔子昂 var codeblocks = document.getElementsByTagName("pre") //循环每个pre代码块,并添加 复制代码 for (var i = 0; i < codeblocks.length; i++) { //显示 复制代码 按钮 currentCode = codeblocks[i] currentCode.style = "position: relative;" var copy = document.createElement("div") copy.style = "position: absolute;right: 4px;\ top: 4px;padding: 2px 8px;\ margin: 8px;border-radius: 4px;cursor: pointer;" copy.innerHTML = '' currentCode.appendChild(copy) //让所有 "复制"按钮 全部隐藏 copy.style.visibility = "visible" } for (var i = 0; i < codeblocks.length; i++) { !function (i) { //执行 复制代码 功能 function copyArticle(event) { const range = document.createRange(); //范围是 code,不包括刚才创建的div range.selectNode(codeblocks[i].childNodes[0]); const selection = window.getSelection(); if (selection.rangeCount > 0) selection.removeAllRanges(); selection.addRange(range); document.execCommand('copy'); codeblocks[i].childNodes[1].innerHTML = "复制成功" setTimeout(function () { codeblocks[i].childNodes[1].innerHTML = '' }, 1000); //清除选择区 if (selection.rangeCount > 0) selection.removeAllRanges(); 0 } codeblocks[i].childNodes[1].addEventListener('click', copyArticle, false); }(i); } function a(a, b, c) { if (document.selection) a.focus(), sel = document.selection.createRange(), c ? sel.text = b + sel.text + c : sel.text = b, a.focus(); else if (a.selectionStart || "0" == a.selectionStart) { var l = a.selectionStart, m = a.selectionEnd, n = m; c ? a.value = a.value.substring(0, l) + b + a.value.substring(l, m) + c + a.value.substring(m, a.value.length) : a.value = a.value.substring(0, l) + b + a.value.substring(m, a.value.length); c ? n += b.length + c.length : n += b.length - m + l; l == m && c && (n -= c.length); a.focus(); a.selectionStart = n; a.selectionEnd = n } else a.value += b + c, a.focus() } var b = (new Date).toLocaleTimeString(), c = document.getElementById("textarea") || 0; window.SIMPALED = {}; window.SIMPALED.Editor = { daka: function() { a(c, "滴!学生卡!打卡时间:" + b, ",请上车的乘客系好安全带~") }, zan: function() { a(c, " 文章写得不错,给你点个赞,继续加油哈!") }, cai: function() { a(c, "骚年,我怀疑你写了一篇假的文章!") } };