Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用MathJax.typeset()解析动态加载的内容?_Javascript_Html_Jquery_Latex_Mathjax - Fatal编程技术网

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

Javascript 如何使用MathJax.typeset()解析动态加载的内容?,javascript,html,jquery,latex,mathjax,Javascript,Html,Jquery,Latex,Mathjax,我正在使用MathJax解析一些LaTeX方程。 以下各项均适用: <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

我正在使用MathJax解析一些LaTeX方程。 以下各项均适用:

<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>
问题出现了,因为我没有硬编码问题的内容,而是从另一个文件加载它们

<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完成解析之前先完成加载?或者在问题加载后回调MathJax。我应该如何确保解析?

加载数学后调用MathJax.typeset函数

从文档中:

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

加载数学后,调用MathJax.typeset函数

从文档中:

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


看起来是。看起来是。我应该从哪里调用MathJax.typeset?我不知道怎么称呼它。在questionLoader.js的末尾放一个不起作用卡尔顿山18分钟前Delete@CaltonHill将新的LaTeX加载/添加到DOM后,调用Mathjax.typeset。我建议您在jQuery加载方法的回调中执行此操作。请参阅.Thank,$id.loadfilePath,函数{MathJax.typeset;};似乎正在工作。由于问题中的MathJax设置可能会自动加载一些扩展,MathJax.typesetPromise是中提到的更安全的选择。我应该从哪里调用MathJax.typeset?我不知道怎么称呼它。在questionLoader.js的末尾放一个不起作用卡尔顿山18分钟前Delete@CaltonHill将新的LaTeX加载/添加到DOM后,调用Mathjax.typeset。我建议您在jQuery加载方法的回调中执行此操作。请参阅.Thank,$id.loadfilePath,函数{MathJax.typeset;};似乎正在工作。由于问题中的MathJax设置可能会自动加载一些扩展,MathJax.typesetPromise是中提到的更安全的选择。