如何修复三方库bug:marked.js 15.0.6 bug修复经过

marked一个非常流行的markdown格式解析器。

它在npmjs上的周下载量达500万之巨。

在其最新的version 15.0.6版本(2025年1月8日使用),有处小bug:当在窄屏显示状态下,如手机端。代码会超出所在div,超出部分内容不可见。

如下图所示:

虽然是个非正常显示的小bug,但还是要解决它。

修复方法:

针对marked前端的压缩包marked.min.js,在代码中找到class="language-",这是设置语言class的位置。

再给它增加style,设置white-space为break-spaces。即可解决此问题,如下图:

修复后超出部分内容会自动换行,不会显示在屏幕之外了:

题外话:js代码安全

在上面的bug修复过程中,是从js代码中搜索"language"字符串后进行的功能修改。如果我们不想希望自己发布的代码被它人随意修改,可以将JS代码进行混淆加密。

前面提到的marked.min.js文件代码。用JShaman、JS-Obfuscator、JsJiaMi.online之类的专业工具进行代代码混淆后,如上图所示,不但加密了代码,还隐藏了关键字,就很难被它人非法修改了。

相关推荐
二哈喇子!3 小时前
Vue3生命周期
前端·javascript·vue.js
枫景Maple4 小时前
C#字典Dictionary的内部实现原理
开发语言·c#
22:30Plane-Moon5 小时前
跨域解决方案
javascript
刘火锅5 小时前
Bug 记录:SecureRandom.getInstanceStrong()导致验证码获取阻塞
spring boot·spring·spring cloud·bug
上单带刀不带妹6 小时前
Node.js 中的 fs 模块详解:文件系统操作全掌握
开发语言·javascript·node.js·fs模块
牵牛老人6 小时前
Qt中的QWebSocket 和 QWebSocketServer详解:从协议说明到实际应用解析
开发语言·qt·网络协议
chenglin0166 小时前
制造业ERP系统架构设计方案(基于C#生态)
开发语言·系统架构·c#
凌晨7点6 小时前
控制建模matlab练习13:线性状态反馈控制器-②系统的能控性
开发语言·matlab
要记得喝水6 小时前
汇编中常用寄存器介绍
开发语言·汇编·windows·c#·.net
shi57837 小时前
C# 常用的线程同步方式
开发语言·后端·c#