首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MathJax.typeset()解析动态加载的内容?

如何使用MathJax.typeset()解析动态加载的内容?
EN

Stack Overflow用户
提问于 2020-11-15 01:32:12
回答 1查看 378关注 0票数 1

我正在使用MathJax解析一些LaTeX方程。下面的工作都很好:

代码语言:javascript
复制
<head>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
</head>
<body>
<div id="question">
            We like,  $$e = mc^2$$
</div>
</body>

问题出现了,因为我不是硬编码#question的内容,而是从另一个文件加载它们。

代码语言:javascript
复制
<head>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
<script src="jquery-cdn"></script>
<script src="questionLoader.js"></script>
</head>
<body>
<div id="question">
</div>
</body>
---------------
//This is questionLoader.js
$(document).ready(function() { 
    var theQuestion = "question1.html"; //file to load   
    $("#question").load(theQuestion);    
  });
--------------
//This is question1.html
We like,  $$e = mc^2$$

现在,LaTeX有时被正确解析,有时不被解析(更多的是没有被解析)。我推测如果MathJax解析在questionLoader完成加载之前完成,那么加载的LaTeX就不会被解析。

有没有一种方法可以确保questionLoader在MathJax完成解析之前先完成加载?或者在加载theQuestion后对MathJax进行回调。我应该做些什么来确保解析?

EN

回答 1

Stack Overflow用户

发布于 2020-11-15 02:08:40

在加载数学之后调用MathJax.typeset()函数。

从文档中:

如果您正在编写一个动态网页,其中包含数学的内容可能会在MathJax排版完页面的其余部分后出现,那么您将需要告诉MathJax在生成新内容时再次在页面中查找数学。为此,需要使用MathJax.typeset()方法。这将导致MathJax在页面上查找未处理的数学并对其进行排版,而对已排版的任何数学保持不变。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64836689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档