用户:QWERTY770/common.js:修订间差异

删除1,486字节 、​ 2020年8月12日 (星期三)
撤销QWERTY 52 38讨论)的版本17365
(// Edit via Wikiplus)
(撤销QWERTY 52 38讨论)的版本17365)
标签撤销
第38行: 第38行:


/*test*/
/*test*/
dlg("Code block fix style appended.");
let LnBuilder = (ln) => {
    let str = "";
    for (let i = 1; i <= ln; i++) {
        str += (i < 10 ? "0" + i.toString() : i.toString()) + ".\n";
    }
    return str;
};
// 为代码块添加行数显示与复制按钮
let fixCode = () => {
    $(".pl pre:not([id]) code").each((i, v) => {
        let ln = v.innerHTML.split("\n").length;
        let lnC = LnBuilder(ln);
        let counter = document.createElement("div");
        counter.className = "line-counter";
        counter.innerText = lnC;
        let copy = document.createElement("em");
        copy.className = "code-copy";
        copy.addEventListener("click", (e) => {
            let n = e.currentTarget.previousSibling.cloneNode(true);
            copycode(n);
        });
        v.prepend(counter);
        v.parentElement.append(copy);
        });
    $(".pl div.blockcode").each((i, v) => {
        let ln = v.firstElementChild.firstElementChild.childElementCount;
        let lnC = LnBuilder(ln);
        let counter = document.createElement("div");
            counter.className = "line-counter";
            counter.innerText = lnC;
            v.firstElementChild.prepend(counter);
    });
    copycode = (t)=>{
            t = t.cloneNode(true);
            t.firstElementChild.remove();
            setCopy(t.innerText.replace(/\n\n/g, "\n"),"代码已复制到剪贴板");
    };
}
$(fixCode);
$(this).on("DiscuzAjaxGetFinished DiscuzAjaxPostFinished",fixCode);
3,040

个编辑