我试图通过点击事件在iFrame上调用MathJax函数。这是代码
HTML
<body onLoad="ifon();">
<iframe name="richTextField" id="richTextField" style="border:#000000 1px solid; width:700px; height:300px;"></iframe>
<button onclick="refresh();"></button>
</body>
的javascript
function ifon(){
richTextField.document.designMode = 'On';
}
function refresh(){
var richTextField = document.getElementById("richTextField");
if(richTextField != null) {
var get_iframe_text = richTextField.contentWindow.document.body.innerHTML;
if(get_iframe_text.slice(-6) == "$$<br>"){
//Trying to call MathJax on iFrame
MathJax.Hub.Queue(["Typeset",MathJax.Hub,richTextField]);
alert("Success");
}
}
}
如果最后六个字符为$$<br>
任何人都可以帮我如何在iFrame上调用MathJax.Hub.Queue([])吗?
答案 0 :(得分:1)
您无法在iframe外部使用MathJax来处理iframe中的数学运算。您需要在iframe中加载MathJax。如果您需要通过调用iframe内的MathJax,您仍然可以从外部触发MathJax,前提是内容来自与容器相同的域。否则,您需要设置一个事件监听器并使用postMessage
与iframe进行通信。
答案 1 :(得分:0)
最后我找到了解决这个问题的方法。 只需使用HTML5 ContentEditale Div。
替换iFrame现在工作正常......