我正在使用 mpld3 将 Matplotlib 绘图转换为 D3 Web 可嵌入图形。然后,我使用一个在 MathJax 之上编写的名为 svg_mathjax2.js ( https://github.com/ichuang/svg_mathjax2 ) 的 JS 库来应用 Tex 转换。
我得到的错误是在 svg_mathjax2.js 的这一行:
var svgmath = mathjaxdiv.getElementsByClassName('MathJax_SVG')
[0].getElementsByTagName('svg')[0];
它给出了错误:
Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined
我第一次加载 Mathjax 时一切正常,它会适本地转换文本。但是,任何其他调用(通过 AJAX)都不起作用。
我已在 github 页面上发布了一个问题,但尚未收到回复。我不确定这是否是 svg_mathjax2 或 mpld3 的问题。也许熟悉 MathJax 的人可以帮忙?
最佳答案
没关系,我已经弄清楚了。它特定于 svg_mathjax2.js。
我通过激活这段代码解决了这个问题:
if (1) {
MathJax.Hub.Register.StartupHook("End Typeset", function () {
forEach(items, function (x) {
});
// remove the temporary items
var mathbucket = document.getElementById('mathjax_svg_bucket');
mathbucket.parentNode.removeChild(mathbucket);
});
}
}
关于javascript - 异步 Mathjax SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33573497/