我有类似StackOverflow的“Ask Question”页面,其中一个文本框用于放置源标记代码,下面,另一个文本框(不可编辑)用于呈现帖子的预览/被打字的问题。
考虑到我的应用程序不仅允许我使用简单的小标记语言来填充帖子的内容;它还为我提供了使用MathJax在其中键入数学的可能性。但语法是简单的Latex语法(但这不是问题,所以不要让这件事太烦人了。)
问题如下。该页面与StackOverflow的页面稍有不同,因为它使用ASP.NET和AJAX来调用服务器端程序,在HTML中执行标记语言翻译(这是我的选择,我有代码服务器端,那里在标记翻译代码的javascript中没有实现。)
当异步脚本运行时(每10秒),不可编辑的文本框将使用已翻译的标记重新填充。 Latex代码也放在那里(没有对其执行转换)并且每次AJAX过程返回时都会调用MathJax脚本(因此乳胶代码将在标记语言之后呈现,此乳胶呈现发生在客户端)。
问题是,有时,渲染数学很奇怪,特别是考虑到方程式编号。数字会增加每个新的AJAX调用。我想必须有一种方法可以完全重置在页面中实例化的MathJax对象的状态或者其他什么......有没有办法重置MathJax?
我认为这里的AJAX是问题...谢谢你的帮助,希望我很清楚。
答案 0 :(得分:2)
如果您已加载包含AMSmath扩展名的配置文件,则可以使用
MathJax.InputJax.TeX.resetEquationNumbers()
重置方程编号以及用于\ref
和\eqref
的标签。如果要在特定的等式编号处开始编号,请使用
MathJax.InputJax.TeX.resetEquationNumbers(n)
其中n
是起始编号减1(默认值为0)。