我正在使用mimetex.cgi将LaTeX文本转换为数学文本。我将以下内容放在头标记中
<head>
<script src="../../asciimath/js/ASCIIMathMLwFallback.js" type="text/javascript">
</script>
<script type="text/javascript">
var AScgiloc = '../../includes/svgimg.php';
var AMTcgiloc = "http://www.imathas.com/cgi-bin/mimetex.cgi";
</script>
</head>
在body标签中,我有以下由ajax刷新的div。这包含数学文本。
<div id="mathtext"> .... </div>
我面临的问题:
在第一页上加载mathtext
div中的LaTeX代码将转换为Math Text图像。但是,当div使用ajax加载新的LaTeX代码时,它不会转换为Math Text。
如果我点击刷新,LaTeX会再次转换为MathText。
我不确定我在这里做错了什么。
编辑1:包含作为ASCIIMathMLwFallback.js一部分的onload函数
if(typeof window.addEventListener != 'undefined')
{
//.. gecko, safari, konqueror and standard
window.addEventListener('load', generic, false);
}
else if(typeof document.addEventListener != 'undefined')
{
//.. opera 7
document.addEventListener('load', generic, false);
}
else if(typeof window.attachEvent != 'undefined')
{
//.. win/ie
window.attachEvent('onload', generic);
}
//** remove this condition to degrade older browsers
else
{
//.. mac/ie5 and anything else that gets this far
//if there's an existing onload function
if(typeof window.onload == 'function')
{
//store it
var existing = onload;
//add new onload handler
window.onload = function()
{
//call existing onload function
existing();
//call generic onload function
generic();
};
}
else
{
//setup onload function
window.onload = generic;
}
}
if (checkForMathML) {
checkForMathML = false;
var nd = AMisMathMLavailable();
AMnoMathML = (nd != null);
}
它使用上面的函数调用一个函数generic()...我想如果我在ajax查询结束时调用这个函数会怎么做?
答案 0 :(得分:0)
解决了! ASCIIMathMLwFallback.js有一个名为generic()的函数,它在页面加载时被调用。这个函数将Latex转换为数学函数。
为了使用ajax查询将latex转换为math函数,只需通过将以下内容添加到ajax代码中来调用泛型函数。
generic.call();
这将确保所有Latex都转换为数学!!