如何修复三方库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之类的专业工具进行代代码混淆后,如上图所示,不但加密了代码,还隐藏了关键字,就很难被它人非法修改了。

相关推荐
吃好睡好便好4 小时前
提取矩阵某一行或某一列元素
开发语言·人工智能·线性代数·算法·matlab·矩阵
英俊潇洒美少年6 小时前
Vue 生产环境打包:SourceMap、压缩、混淆、加密全解 + 最佳实践
前端·javascript·vue.js
巴博尔7 小时前
UNIAPP中NVUE页面 动画
android·前端·javascript·ios·uni-app
deepin_sir7 小时前
10 - 函数
开发语言·python
z落落7 小时前
C#String字符串
开发语言·c#·php
猫头虎-前端技术7 小时前
JS 作用域与闭包:从变量提升到闭包陷阱的超详细解析
开发语言·javascript·云计算·bootstrap·ecmascript·openstack·perl
枫叶林FYL8 小时前
项目十:事件溯源仓储管理系统(WMS)仿真实现
开发语言·python
繁华落尽,倾城殇?8 小时前
[C++11] : atomic,nullptr,default/delete,enum class
开发语言·c++·c++11·nullptr·atomic·enum class·default/delete
01_ice8 小时前
C语言数据在内存中的存储
c语言·开发语言
代码村新手8 小时前
C++-二叉搜索树
开发语言·c++