feat: 完善外部资源备用机制和日志系统
- 在header.php中添加用户角色检测,传递给前端JavaScript - 更新Open Sans字体CSS文件,支持本地woff2字体文件备用 - 修改footer.php中MathJax 3/2和KaTeX加载机制,添加onerror备用处理 - 优化resource-loader.js日志系统,使用ArgonLogger替代console.log - 仅管理员用户显示控制台日志,普通用户和游客不显示调试信息 - 完善资源加载错误处理,统一使用ArgonLogger记录警告信息
This commit is contained in:
54
assets/vendor/external/katex/auto-render.min.js
vendored
Normal file
54
assets/vendor/external/katex/auto-render.min.js
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
/* KaTeX Auto-Render - Local Fallback */
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
console.warn('KaTeX Auto-Render 本地备用版本 - 功能受限');
|
||||
|
||||
window.renderMathInElement = function(element, options) {
|
||||
console.warn('KaTeX 自动渲染功能不可用 - 使用备用版本');
|
||||
|
||||
options = options || {};
|
||||
var delimiters = options.delimiters || [
|
||||
{left: "$$", right: "$$", display: true},
|
||||
{left: "$", right: "$", display: false},
|
||||
{left: "\\(", right: "\\)", display: false},
|
||||
{left: "\\[", right: "\\]", display: true}
|
||||
];
|
||||
|
||||
if (!element) {
|
||||
element = document.body;
|
||||
}
|
||||
|
||||
// 简单的文本替换处理
|
||||
var walker = document.createTreeWalker(
|
||||
element,
|
||||
NodeFilter.SHOW_TEXT,
|
||||
null,
|
||||
false
|
||||
);
|
||||
|
||||
var textNodes = [];
|
||||
var node;
|
||||
while (node = walker.nextNode()) {
|
||||
textNodes.push(node);
|
||||
}
|
||||
|
||||
textNodes.forEach(function(textNode) {
|
||||
var text = textNode.textContent;
|
||||
var hasMatch = false;
|
||||
|
||||
delimiters.forEach(function(delimiter) {
|
||||
if (text.includes(delimiter.left) && text.includes(delimiter.right)) {
|
||||
hasMatch = true;
|
||||
}
|
||||
});
|
||||
|
||||
if (hasMatch) {
|
||||
var span = document.createElement('span');
|
||||
span.innerHTML = text.replace(/\$([^$]+)\$/g,
|
||||
'<span class="katex" style="font-style: italic; color: #666;" title="数学公式渲染服务不可用">$1</span>');
|
||||
textNode.parentNode.replaceChild(span, textNode);
|
||||
}
|
||||
});
|
||||
};
|
||||
})();
|
||||
Reference in New Issue
Block a user