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

embedded/2025/1/11 7:29:37/

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


http://www.ppmy.cn/embedded/152946.html

相关文章

Appium版本升级,需要注意哪些点:使用UiAutomator2Options传递capabilities

mac上安装的是较新的Appium版本,在跑之前写的Android UI 自动化代码时报错:AttributeError: dict object has no attribute to_capabilities。 查了一下资料,这是因为较新的 Selenium 和 Appium 版本要求使用 Options 类来定义能力&#xff…

解决pycharm中动态/静态出图的设置问题

1. pycharm中动态出图设置 import matplotlib matplotlib.use(TkAgg) # 强制使用 TkAgg 后端2. pycharm中静态出图设置 import matplotlib matplotlib.use(Agg) # 切换到非图形后端

【python基础——异常BUG】

什么是异常(BUG) 检测到错误,py编译器无法继续执行,反而出现错误提示 如果遇到错误能继续执行,那么就捕获(try) 1.得到异常:try的执行,try内只可以捕获一个异常 2.预案执行:except后面的语句 3.传入异常:except … as uestcprint(uestc) 4.没有异常:else… 5.鉴定完毕,收尾的语…

计算机网络之---物理层设备

什么是物理层设备 物理层设备是指负责数据在物理媒介上传输的硬件设备,它们主要处理数据的转换、信号的传输与接收,而不涉及数据的内容或意义。常见的物理层设备包括网卡、集线器、光纤收发器、调制解调器等。 物理层设备有哪些 1、网卡(N…

Vue2: el-table为每一行添加超链接,并实现光标移至文字上时改变形状

为表格中的某一列添加超链接 一个表格通常有许多列,网上许多教程都可以实现为某一列添加超链接,如下,实现了当光标悬浮在“姓名”上时,改变为手形,点击可实现跳转。 <el-table :data="tableData"><el-table-column label="姓名" prop=&quo…

vue3后台系统动态路由实现

动态路由的流程&#xff1a;用户登录之后拿到用户信息和token&#xff0c;再去请求后端给的动态路由表&#xff0c;前端处理路由格式为vue路由格式。 1&#xff09;拿到用户信息里面的角色之后再去请求路由表&#xff0c;返回的路由为tree格式 后端返回路由如下&#xff1a; …

用c实现C++类(八股)

在 C 语言中&#xff0c;虽然没有内建的面向对象编程&#xff08;OOP&#xff09;特性&#xff08;如封装、继承、多态&#xff09;&#xff0c;但通过一些编程技巧&#xff0c;我们仍然可以模拟实现这些概念。下面将用通俗易懂的方式&#xff0c;逐步介绍如何在 C 中实现封装、…

8 事件等待

临界区&自旋锁 这两个章节在”多核同步“篇已经学习过了,需要了解的可以自行查看对应章节。 线程等待与唤醒 我们在之前的课程里面了解了如何自己实现临界区以及什么是Windows自旋锁,这两种同步方案在线程无法进入临界区时都会让当前线程进入等待状态。 一种是通过Sl…