fix: 修复 KaTeX renderMathInElement 未定义错误

- 添加函数存在性检查,避免脚本未加载完成时报错
- 使用 setTimeout 重试机制等待脚本加载
- 修复 delimiters 配置,添加 display math 支持
This commit is contained in:
2026-01-16 16:18:45 +08:00
parent 64513e3dc5
commit 64c43bfff8

View File

@@ -123,28 +123,26 @@
<script src="<?php echo get_option('argon_katex_cdn_url') == '' ? '//cdn.jsdelivr.net/npm/katex@0.11.1/dist/' : get_option('argon_katex_cdn_url'); ?>katex.min.js"></script>
<script src="<?php echo get_option('argon_katex_cdn_url') == '' ? '//cdn.jsdelivr.net/npm/katex@0.11.1/dist/' : get_option('argon_katex_cdn_url'); ?>contrib/auto-render.min.js"></script>
<script src="<?php echo get_option('argon_katex_cdn_url') == '' ? '//cdn.jsdelivr.net/npm/katex@0.11.1/dist/' : get_option('argon_katex_cdn_url'); ?>contrib/auto-render.min.js" onload="window.katexAutoRenderLoaded=true"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
function tryRenderMath() {
if (typeof renderMathInElement === 'function') {
renderMathInElement(document.body, {
delimiters: [
{left: "$", right: "$", display: true},
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false},
{left: "\\(", right: "\\)", display: false}
{left: "\\(", right: "\\)", display: false},
{left: "\\[", right: "\\]", display: true}
]
});
} else {
setTimeout(tryRenderMath, 100);
}
}
tryRenderMath();
});
</script>
<?php }?>