! function (e) { var n = "object" == typeofwindow && window || "object" == typeof self && self; "undefined" != typeof exports ? e(exports) : n && (n.userJs = e({}), "function" == typeof define && define.amd && define([], function () { return n.userJs })) } ( function (e) {
functiongetParentDiv(node) { var nodeName = node.nodeName.toLowerCase(); if (nodeName == 'div') { return node; } else { var newNode = node.parentNode; return getParentDiv(newNode); } }
functionreplaceSelectionWithHtml(html) { if (window.getSelection && window.getSelection().getRangeAt) { var range; range = window.getSelection().getRangeAt(0); range.deleteContents(); var div = document.createElement("div"); div.innerHTML = html; var frag = document.createDocumentFragment(), child; while ((child = div.firstChild)) { frag.appendChild(child); } range.insertNode(frag); } elseif (document.selection && document.selection.createRange) { var range; range = document.selection.createRange(); range.pasteHTML(html); } }
functionhighlightCodeBg() { var html = ""; var sel = window.getSelection(); if (sel.rangeCount) { for (var i = 0, len = sel.rangeCount; i < len; ++i) { var container = document.createElement("div"); container.appendChild(sel.getRangeAt(i).cloneContents()); var curHtml = container.innerHTML; var nodeName = container.firstChild.nodeName.toLowerCase(); // 先为 #text、span 类型的节点添加一个标记:class: CodeBg