【发布时间】:2019-05-17 12:41:54
【问题描述】:
我使用 HTML 编写了一个可以从脚本标签呈现 MathJax 的应用程序。现在我转向了 React,但 MathJax 方程根本没有渲染。
我在componentDidMount()、componentWillMount() 和componentDidUpdate() 函数中包含了一个脚本(如下所示),但它没有渲染。
MathJax 脚本正在被获取,但它没有返回带有配置和其他字体的脚本,这些字体需要渲染以前出现的方程。
我也尝试引入 MathJax React 插件 (https://www.npmjs.com/package/react-mathjax)。
我在上述方法中使用的代码:
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "/MathJax/MathJax.js"; // use the location of your MathJax
var config = 'MathJax.Hub.Config({' +
'extensions: ["tex2jax.js"],' +
'jax: ["input/TeX","output/HTML-CSS"]' +
'});' +
'MathJax.Hub.Startup.onload();';
if (window.opera) {script.innerHTML = config}
else {script.text = config}
document.getElementsByTagName("head")[0].appendChild(script);
})();
之前我曾经有一个简单的页面,比如
<script src=<MathJax link> />
<span>Some Equation</span>
</html>
这是因为 MathJax 甚至无法识别页面中的内容吗?
【问题讨论】:
-
你也可以使用一个包来处理我写的better-react-mathjax,你可以完全使用它(只关心数学内容)或处理MathJax的下载(然后使用@ 987654328@ 或
startup属性(取决于版本))并在您的 React 组件中手动完成工作。文档包含大量示例。
标签: javascript reactjs mathjax