不完全确定如何说出这个问题。
我有一个网站,涉及使用MathJax来显示数学问题。页面上的文本是根据用户搜索的内容从单独的文件加载的。因此,例如,搜索“apple”会显示“apple”页面。这个文本存储在第二个php文件的类中,并且数学方程也在那里输入。但是,一旦我将方程式加载到页面中,它就不会排版它:
<script type="text/javascript"
src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
function compendium()
{
document.getElementById('title').innerHTML = '<?php echo $pageTitle ?>';
document.getElementById('body').innerHTML = '<?php links($pageBody, $new_classes) ?>';
document.getElementById('nav').innerHTML = '<?php echo $pageNav ?>';
}
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
displayMath: [['[math]','[math]']]}
});
</script>
我不完全确定要做什么,但我希望它在加载后排版euqation。有谁知道我能做什么来做到这一点?等式存储为辅助文件中的类中的变量,并打印出来。它做了什么,但它不会排版
答案 0 :(得分:0)
每次加载新内容后,请调用此javascript函数
function update_mathjax(){
MathJax.Hub.Queue(['Typeset',MathJax.Hub,'body']);
}
此处'body'
可以替换为您要更新的任何div的ID,以便您可以执行类似
function update_mathjax(id){
MathJax.Hub.Queue(['Typeset',MathJax.Hub,id]);
}
然后致电update_mathjax('body')
或update_mathjax('title')
。这些是div id的记忆,而不是html元素。我不确定使用元素名称本身是否有效,但我不这么认为......