Javascript MathML不会呈现并显示在textarea下方
我有一个包含文本区域的页面。用户将在其中输入mathML,当用户单击“输出”按钮时,mathML应呈现并显示在文本区域下方。但渲染并没有发生。Textarea可能包含多个用于渲染的mathml代码 下面是我使用的代码Javascript MathML不会呈现并显示在textarea下方,javascript,html,mathjax,mathml,Javascript,Html,Mathjax,Mathml,我有一个包含文本区域的页面。用户将在其中输入mathML,当用户单击“输出”按钮时,mathML应呈现并显示在文本区域下方。但渲染并没有发生。Textarea可能包含多个用于渲染的mathml代码 下面是我使用的代码 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="file:/P:/MathJax/MathJax.js?config=
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="file:/P:/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>
<body>
<h3>MathML Previewer</h3>
Paste your MathML:<br>
<textarea id="myMath" style="resize: none; height:250px; width:850px">
</textarea>
<button type="button" onclick="myclear()">Reset</button>
<p>Click the button to get output</p>
<button type="button" onclick="myFunction()">Output</button>
<div id="demo">
</div>
</div>
<script>
function myFunction() {
var x = document.getElementById("myMath").value;
document.getElementById("demo").innerHTML = x;
}
</script>
<script>
function myclear() {
var x = document.getElementById("myMath").value =' ';
//document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>
MathML预览器
粘贴您的MathML:
重置
单击按钮以获取输出
输出
函数myFunction(){
var x=document.getElementById(“myMath”).value;
document.getElementById(“demo”).innerHTML=x;
}
函数myclear(){
var x=document.getElementById(“myMath”).value='';
//document.getElementById(“demo”).innerHTML=x;
}
MathJax不应在使用客户端脚本更改页面时处理该页面。若要请求此类处理,请在执行更改的代码后添加以下内容,此处位于函数myFunction
的末尾:
MathJax.Hub.Typeset();
更经济的方法是,使用只处理单个元素的代码:
MathJax.Hub.Typeset("demo");
请参阅MathJax文档,第页。您是否使用
文件
方案运行该页?是的,我已经运行了,但没有像我提到的那样进行渲染。您想要什么输出?当我测试你的代码时,它似乎工作得很好。通过搜索,只有Firefox和Safari支持正确呈现MathML,这就是我在IE、Firefox和Chrome上测试代码时看到的,只有Firefox正确地呈现了它。因为没有名称空间,它可以正常工作,但是如果我包含了像m:和/或mml:这样的名称空间,则不会呈现。为了正确处理名称空间,您需要在
标记中声明它们。例如,
。如果要同时处理m:
和mml:
,请将两者都添加为NamSeparaces。尽管我在标记中添加了名称空间声明,但仍无法呈现。