文章最后更新时间:2024-08-13 13:31:47

给B2自带的代码高亮增加一键复制功能【完美解决方案】

众所周知,B2的pre代码被隐藏后就会失去灵魂。这个问题我已经解决了。

2024/08/10更新:受大佬指点,一键复制按钮不再随滚动条移动。

child.js添加代码

// js 复制到剪贴板
function copyToClipboard(content) {
    if (window.clipboardData) {
        window.clipboardData.setData('text', content);
    } else {
        (function (content) {
            document.oncopy = function (e) {
                e.clipboardData.setData('text', content);
                e.preventDefault();
                document.oncopy = null;
            }
        })(content);
        document.execCommand('Copy');
    }
}

//您自己的js代码写到下面

下载single.js替换b2/Assets/fontend/single.js

CSS加入代码(限定最大高数、带滚动条、代码超出自动换行)

/*代码高亮美化开始*/
.prettyprint {
        background: #f3f3f3 !important;
        border-radius:var(--b2radius);
}
.prettyprint ol,.prettyprint ol li{
     background: #f3f3f3 !important;
}
 
  .pln {
    color: #666666!important;
  }
  
  @media screen {
  
    /* string content */
  
    .str {
      color: #ffce54;
    }
  
    /* keyword */
  
    .kwd {
      color: #4fc1e9;
    }
  
    /* comment */
  
    .com {
      color: #aaaaaa!important;
    }
  
    /* type name */
  
    .typ {
      color: #4fc1e9;
    }
  
    /* literal value */
  
    .lit {
      color: #ac92ec;
    }
  
    /* punctuation */
  
    .pun {
      color: #666666!important;
    }
  
    /* lisp open bracket */
  
    .opn {
      color: #e6e9ed;
    }
  
    /* lisp close bracket */
  
    .clo {
      color: #e6e9ed;
    }
  
    /* markup tag name */
  
    .entry-content .tag {
      color: #ed5565;
    }
  
    /* markup attribute name */
  
    .atn {
      color: #a0d468;
    }
  
    /* markup attribute value */
  
    .atv {
      color: #ffce54;
    }
  
    /* declaration */
  
    .dec {
      color: #ac92ec;
    }
  
    /* variable name */
  
    .var {
      color: #e6e9ed;
    }
  
    /* function name */
  
    .fun {
      color: #e6e9ed;
    }
  }
.sticky-button {
    
  position: -webkit-sticky;
    position: sticky;
    top: 0;
  left:100%;
   font-size:16px;
    background: var(--b2color);
    color: #fff;
    border: none;
    padding: 5px 10px;
    border-radius: var(--b2radius);
    cursor: pointer;
}



.entry-content pre {
         min-height:100px;
max-height:300px;
     overflow-y: auto; /* 当内容高度超出元素高度时显示滚动条 */
  overflow-x: auto; /* 隐藏水平滚动条 */
}
.entry-content pre code, .content-show-roles pre code{
    white-space: pre-wrap!important;
}
 /*代码高亮美化结束*/


 

以下是一段隐藏后的演示代码(复制按钮照样显示)

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
B2美化

仪表盘统计图表插件(李初一仿自子比)

2024-5-21 18:25:34

B2美化

CSS更换全站字体为漂亮的中文字体

2024-6-11 18:50:20

18 条回复 A文章作者 M管理员
夸夸
夸夸
还有吗!没看够!
  1. ningyungame

    能够解决在隐藏内容里也能有代码高亮跟一键複製功能吗,之前看很多教程都是隐藏内容里的代码块失效
    子比没这问题😥

    UID.00021
    • 子比兔

      这是春哥的问题。我们解决不了。春哥的隐藏代码的逻辑有问题。

      UID.00001
    • 子比兔

      已经解决了这个问题。一键复制按钮继续生效。

      UID.00001
    • ningyungame

      牛啊大佬,但您忘了添加copyToClipboard 函数

      Uncaught ReferenceError: copyToClipboard is not defined
      at copyButton.onclick (single.js?ver=5.4.2:20:13)

      UID.00021
  2. 兔姐

    谁会拒绝来看一眼大佬的文章呢~

    UID.00014
  3. 惦记°

    带带我,我还能看!

    UID.00204
  4. 暮夏

    看看

    UID.00112
  5. mbxl

    瞅一瞅

    UID.00108
  6. h1453737027

    我有你这才华,睡觉都能笑醒!

    UID.00245
  7. 非白

    用原相机拍摄也毫不失色的美貌

    UID.00259
  8. suxiaosu

    666

    UID.00277
  9. 66788zzz

    rangwokankan

    UID.00282
  10. 逆

    快门一次,心动千次

    UID.00283
个人中心
购物清单
优惠代劵
今日签到
有新私信 私信列表
快速搜索
联系客服
关注我们
  • 扫码打开当前页

  • 扫一扫加QQ群

你已经到达了世界的尽头

  • 57

    文章数目

  • 278

    注册用户

  • 188

    总评论数

  • 250

    建站天数

  • 14500

    总访问量

  • 波浪
  • 波浪
  • 波浪
  • 波浪