源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

cnblogs 代码高亮显示后的代码复制问题解决实现代码

  • 时间:2021-03-20 21:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:cnblogs 代码高亮显示后的代码复制问题解决实现代码
没想到最近(2012年12月份)实现代码复制问题,要不所有内容都是一行,只有拥有工具的人士才能很快的看到代码,这样代码用起来就简单多了,可以直接复制了啊,不用每次是转化什么的。 这篇文章技术是技术为主,看看他们用了什么方法,需要的朋友可以参考下。为方便备份,先打包一份代码,有需要的自己研究。
[url=javascript:void(0);]} function loadEncoderJs() { var encoderJs = document.createElement('script'); encoderJs.type = 'text/javascript'; encoderJs.src = 'http://common.cnblogs.com/script/encoder.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(encoderJs, node); } function copyCnblogsCode(element) { var codeContainer = getCnblogsCodeContainer(element); var cbCode = getCnblogsCodeText(codeContainer); var textarea = document.createElement('textarea'); $(textarea).val(cbCode).select(); $(textarea).css("width", $(codeContainer).css("width")); $(textarea).css("height", $(codeContainer).css("height")); $(textarea).css("font-family", "Courier New"); $(textarea).css("font-size", "12px"); $(textarea).css("line-height", "1.5"); $(codeContainer).parent().html(textarea); $(textarea).select(); $("<div>按 Ctrl+C 复制代码</div>").insertAfter($(textarea)); } function getCnblogsCodeContainer(element) { var codeContainer = $(element).parent().parent().parent().find("pre"); if (codeContainer.length == 0) { codeContainer = $(element).parent().parent().parent().find("div").first(); } return codeContainer; } function getCnblogsCodeText(codeContainer) { var cbCode = '\n' + $(codeContainer).html() .replace(/ /g, ' ') .replace(/<br\s*\/?>/ig, '\n') .replace(/<[^>]*>/g, ''); cbCode = cbCode.replace(/\n(\s*\d+)/ig, '\n'); cbCode = cbCode.replace(/\n/g, '\r\n'); if (typeof Encoder != undefined) { cbCode = Encoder.htmlDecode(cbCode); } cbCode = $.trim(cbCode); return cbCode; } function showRunCode(element) { var codeCopyDiv = $(element).find("div.cnblogs_code_toolbar"); if (codeCopyDiv.length) { $(codeCopyDiv).append('<span class="cnblogs_code_runjs"><a href="javascript:void(0);" onclick="runJsCode(this)">运行代码</a></span>'); } } function runJsCode(element) { var codeContainer = getCnblogsCodeContainer(element); var cbCode = getCnblogsCodeText(codeContainer); var newwin = window.open('', "_blank", ''); newwin.document.open('text/html', 'replace'); newwin.opener = null; newwin.document.write(cbCode); newwin.document.close(); } //#endregion
打包下载[/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部