Closed
Description
使用tampermonkey两结果都成功返回,而用scriptcat一条成功一条失败!
代码如下:
// ==UserScript==
// @name 测试md
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 测试md..
// @author xx
// @match *://*/*
// @run-at document-end
// @require https://cdn.staticfile.org/jquery/3.4.0/jquery.min.js
// @require https://cdn.bootcdn.net/ajax/libs/marked/4.3.0/marked.min.js
// @require https://cdn.bootcdn.net/ajax/libs/markdown-it/13.0.1/markdown-it.min.js
// @require https://cdn.bootcdn.net/ajax/libs/showdown/2.1.0/showdown.min.js
// @require https://cdn.bootcdn.net/ajax/libs/highlight.js/11.7.0/highlight.min.js
// @license MIT
// ==/UserScript==
(function(){
//失败
const text = `当然!以下是一些常见的KaTeX公式的示例:
1. 行内公式:$E=mc^2$,表示质能方程。
2. 上标和下标:$x^n$,$x_{i,j}$。
3. 分式:$\\frac{a}{b}$,表示a除以b。
4. 根号:$\\sqrt{x}$,表示x的平方根。
5. 求和符号:$\\sum_{i=1}^{n} x_i$,表示求x1到xn的和。
6. 积分符号:$\\int_{a}^{b} f(x) dx$,表示对f(x)从a到b的积分。
7. 极限符号:$\\lim_{x \\to \\infty} f(x)$,表示当x趋向于无穷大时f(x)的极限。
8. 矩阵:$\\begin{pmatrix} a & b \\\\ c & d \\end{pmatrix}$,表示一个2x2的矩阵。
9. 矢量:$\\vec{v}$,表示向量v。
10. 微分符号:$\\frac{d}{dx}$,表示对x求导。
这只是一小部分KaTeX公式的示例,你可以根据需要在KaTeX文档或网上找到更多的公式和用法。`
const text2 = '你好' //成功
function mdConverter(rawData) {
let converter = new showdown.Converter(); //增加拓展table
converter.setOption('tables',
true); //启用表格选项。从showdown 1.2.0版开始,表支持已作为可选功能移入核心拓展,showdown.table.min.js扩展已被弃用
converter.setOption('openLinksInNewWindow',true) //链接在新窗口打开
converter.setOption('strikethrough', true) //删除线
converter.setOption('emoji', true) //开启emoji
/***
* original: John Gruber 规范中的原始 Markdown 风格
* vanilla:对决基础风味(v1.3.1 起)
* github: GitHub 风格的 Markdown,或 GFM
*/
showdown.setFlavor('github');
return converter.makeHtml(rawData);
}
setTimeout(()=>{
console.log(mdConverter(text))//失败
},1000)
setTimeout(()=>{
console.log(mdConverter(text2))//成功
},1000)
})();
结果如下:
测试md.user.js:18 Uncaught TypeError: Cannot read properties of undefined (reading 'codeblock')
at 测试md.user.js:18:60269
at 测试md.user.js:18:42248
at x.Converter.makeHtml (测试md.user.js:18:36809)
at mdConverter (测试md.user.js:1285:26)
at 测试md.user.js:1289:21
(anonymous) @ 测试md.user.js:18
(anonymous) @ 测试md.user.js:18
makeHtml @ 测试md.user.js:18
mdConverter @ 测试md.user.js:1285
(anonymous) @ 测试md.user.js:1289
setTimeout (async)
(anonymous) @ 测试md.user.js:1288
(anonymous) @ 测试md.user.js:1297
window.NzWaSySfKyaZCXaA @ 测试md.user.js:1304
value @ VM395:3
value @ VM395:3
set @ VM395:3
(anonymous) @ 测试md.user.js:1
(anonymous) @ VM403:6
(anonymous) @ VM403:8
测试md.user.js:1293
<p>你好</p>
正确结果应该是
<p>当然!以下是一些常见的KaTeX公式的示例:</p>
<ol>
<li><p>行内公式:$E=mc^2$,表示质能方程。</p></li>
<li><p>上标和下标:$x^n$,$x_{i,j}$。</p></li>
<li><p>分式:$\frac{a}{b}$,表示a除以b。</p></li>
<li><p>根号:$\sqrt{x}$,表示x的平方根。</p></li>
<li><p>求和符号:$\sum<em>{i=1}^{n} x</em>i$,表示求x1到xn的和。</p></li>
<li><p>积分符号:$\int_{a}^{b} f(x) dx$,表示对f(x)从a到b的积分。</p></li>
<li><p>极限符号:$\lim_{x \to \infty} f(x)$,表示当x趋向于无穷大时f(x)的极限。</p></li>
<li><p>矩阵:$\begin{pmatrix} a & b \ c & d \end{pmatrix}$,表示一个2x2的矩阵。</p></li>
<li><p>矢量:$\vec{v}$,表示向量v。</p></li>
<li><p>微分符号:$\frac{d}{dx}$,表示对x求导。</p></li>
</ol>
<p>这只是一小部分KaTeX公式的示例,你可以根据需要在KaTeX文档或网上找到更多的公式和用法。</p>
<p>你好</p>
Metadata
Metadata
Assignees
Labels
No labels