在HTML中不存在的javascript字符串上运行mathjax

在HTML中不存在的javascript字符串上运行mathjax,javascript,mathjax,Javascript,Mathjax,Mathjax通常在页面中查找特定元素,并在这些元素中查找特定字符串(例如,由$…$分隔的子字符串),然后将这些字符串更改为漂亮的HTML MathJax用于将这些字符串转换为漂亮的HTML的底层函数是什么 我非常想使用这个函数,因为我需要在javascript字符串上运行其他东西,然后才能在页面上实际呈现它们。如果您想在页面上重新呈现内容,请假设用户键入了一些表达式,例如$\frac{a}{b}$,它按字面意思显示为$\frac{a}{b}$您应该使用MathJax.Hub.Queue([“T

Mathjax通常在页面中查找特定元素,并在这些元素中查找特定字符串(例如,由$…$分隔的子字符串),然后将这些字符串更改为漂亮的HTML

MathJax用于将这些字符串转换为漂亮的HTML的底层函数是什么


我非常想使用这个函数,因为我需要在javascript字符串上运行其他东西,然后才能在页面上实际呈现它们。

如果您想在页面上重新呈现内容,请假设用户键入了一些表达式,例如
$\frac{a}{b}$
,它按字面意思显示为$\frac{a}{b}$您应该使用
MathJax.Hub.Queue([“Typeset”,MathJax.Hub])
再次运行mathjax渲染器并处理页面内容。

如果要在页面上重新渲染内容,请假设用户键入了一些表达式,例如
$\frac{a}{b}$
,它按字面意思显示为$\frac{a}{b}$,您应该使用
mathjax.Hub.Queue([“Typeset”,mathjax.Hub])
再次运行mathjax渲染器并处理页面内容。

这目前是不可能的,因为mathjax的渲染过程需要DOM(例如,字体匹配、webfont检测、在某些情况下测量子表达式的尺寸,以及旧浏览器上更糟糕的事情)。您可以创建元素,在将它们交给MathJax之前不附加它们(在这种情况下,MathJax将临时附加它们),但这会带来CSS干扰的小风险

FWIW,我们计划在明年开发一个或多或少没有DOM的渲染(因为最近的浏览器引擎在布局上更稳定);参见mathjax节点


免责声明(我猜)我是MathJax团队的成员。

这目前是不可能的,因为MathJax需要DOM来进行渲染过程(例如字体匹配、webfont检测、在某些情况下测量子表达式的尺寸,以及在旧浏览器上更糟糕的事情)。您可以创建元素,在将它们交给MathJax之前不附加它们(在这种情况下,MathJax将临时附加它们),但这会带来CSS干扰的小风险

FWIW,我们计划在明年开发一个或多或少没有DOM的渲染(因为最近的浏览器引擎在布局上更稳定);参见mathjax节点


免责声明(我猜)我是MathJax团队的成员。

我建议阅读文档:。您知道文档中的什么地方可以解决这个问题吗?另外,我知道这不是MathJax的“预期”用途,但在我的案例中仍然值得一试。您可能想改用它,它提供了一个API。我建议您阅读文档:。您知道文档中的什么地方可以解决这个问题吗?另外,我知道这不是MathJax的“预期”用途,但在我的案例中仍然值得一试。您可能想改用它,因为它提供了一个API。感谢您的尝试。不幸的是,这并不能回答问题,而这正是我不想要的解决方案。我想在HTML中不存在的字符串上运行Mathjax。感谢您的尝试。不幸的是,这并不能回答问题,而这正是我不想要的解决方案。我想在HTML中不存在的字符串上运行Mathjax。这不是免责声明,而是建议!谢谢并期待它!:)@Peter Krautzberger这个功能已经发布了吗?如果有,你能提供相关文档的链接吗?现在已经公开了。默认情况下,它仍然使用DOM来构造输出,但不再需要页面的上下文,参见。您还可以通过替换相关的实用程序cf来使用普通domapi以外的东西。这不是免责声明,而是建议!谢谢并期待它!:)@Peter Krautzberger这个功能已经发布了吗?如果有,你能提供相关文档的链接吗?现在已经公开了。默认情况下,它仍然使用DOM来构造输出,但不再需要页面的上下文,参见。您还可以通过替换相关的实用程序cf来使用普通domapi以外的东西。