fix:安卓端渲染失败

This commit is contained in:
港島小叔子 2025-04-11 20:23:32 +08:00 committed by GitHub
parent d1db63d7d3
commit f28502348d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 55 additions and 58 deletions

View File

@ -1,33 +1,32 @@
<div class="md-content"> <div class="md-content">
{{Front}} {{Front}}
</div> </div>
<script> <script>
var getResources = [ var getResources = [
getScript("_markdown-it.min.js", "https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/markdown-it/12.3.2/markdown-it.min.js"), getScript("https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/markdown-it/12.3.2/markdown-it.min.js"),
getScript("_highlight.min.js", "https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/highlight.js/11.4.0/highlight.min.js"), getScript("https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/highlight.js/11.4.0/highlight.min.js"),
]; ];
Promise.all(getResources).then(() => {
// 加载资源并初始化
Promise.all(getResources)
.then(() => {
parseMarkDownFn(); parseMarkDownFn();
}) })
.catch(error => {
consoleLog('Failed to load required resources: ' + error);
});
function getScript(path, altURL) { function getScript(url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let script = document.createElement("script"); const script = document.createElement("script");
script.onload = resolve; script.onload = resolve;
script.onerror = function () { script.onerror = () => reject(new Error(`Failed to load script from ${url}`));
let script_online = document.createElement("script"); script.src = url;
script_online.onload = resolve;
script_online.onerror = reject;
script_online.src = altURL;
document.head.appendChild(script_online);
}
script.src = path;
document.head.appendChild(script); document.head.appendChild(script);
}) });
} }
// 在anki中通过窗口查看调试信息 没控制台啊 // 在anki中通过窗口查看调试信息 没控制台啊
function consoleLog(str) { function consoleLog(str) {
var div = document.createElement('div') var div = document.createElement('div')
@ -54,7 +53,6 @@
Object.assign(document.createElement('textarea'), { innerHTML }).value Object.assign(document.createElement('textarea'), { innerHTML }).value
// 解析入口main方法 // 解析入口main方法
// 解析入口main方法
var parseMarkDownFn = () => { var parseMarkDownFn = () => {
const md = markdownit({ const md = markdownit({
html: true, // 若为 false 将导致 anki 自带的公式渲染失效。 html: true, // 若为 false 将导致 anki 自带的公式渲染失效。
@ -65,7 +63,7 @@
if (lang && hljs.getLanguage(lang)) { if (lang && hljs.getLanguage(lang)) {
try { try {
return hljs.highlight(str, { language: lang }).value return hljs.highlight(str, { language: lang }).value
} catch (__) {} } catch (__) { }
} }
return '' // use external default escaping return '' // use external default escaping
@ -93,5 +91,4 @@
// 不能从body直接插入元素 anki 不刷新的 // 不能从body直接插入元素 anki 不刷新的
}) })
} }
</script> </script>