首页 > 解决方案 > 过早隐藏 CKEditor 时,MathJax 未完成渲染

问题描述

我正在使用 CKEditor 4.14.1,带有“数学公式”插件,使用 Mathjax 2.7.8。 https://ckeditor.com/docs/ckeditor4/latest/features/mathjax.html

我们应用程序中的用户能够再次关闭和打开编辑器,最后只是将包装 div 设置为 display:none 或 block。

问题是如果用户在公式完成渲染之前关闭编辑器,然后再次打开编辑器,公式将不会显示。

我尝试手动触发渲染过程,如此处所述。 https://docs.mathjax.org/en/v2.7-latest/advanced/typeset.html

MathJax.Hub.Queue(["Rerender",MathJax.Hub]);
// or
MathJax.Hub.Queue(
  ["resetEquationNumbers",MathJax.InputJax.TeX],
  ["PreProcess",MathJax.Hub],
  ["Reprocess",MathJax.Hub]
);

然而这并没有奏效。

这是一个例子。它应该呈现 html 中看到的五个公式,但不呈现或只呈现部分: https ://jsfiddle.net/Lh1o4ckj/

我刚刚从官方文档( https://ckeditor.com/docs/ckeditor4/latest/examples/mathjax.html )复制了这个例子,并模拟了一个用户隐藏和显示公式的超时。正如这个问题仅显示的那样,根据公式的渲染速度,可能需要尝试几次。

标签: javascriptckeditormathjax

解决方案


推荐阅读