Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MathJax不使用iFrame_Javascript_Jquery_Html_Iframe_Mathjax - Fatal编程技术网

Javascript MathJax不使用iFrame

Javascript MathJax不使用iFrame,javascript,jquery,html,iframe,mathjax,Javascript,Jquery,Html,Iframe,Mathjax,我试图通过单击事件调用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

我试图通过单击事件调用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");
        }
    }
}
函数ifon(){code> richTextField.document.designMode='On'; } 函数刷新(){ var richTextField=document.getElementById(“richTextField”); 如果(richTextField!=null){ var get_iframe_text=richTextField.contentWindow.document.body.innerHTML; if(get_iframe_text.slice(-6)=“$$
”){ //试图在iFrame上调用MathJax Queue([“Typeset”,MathJax.Hub,richTextField]); 警惕(“成功”); } } } 仅当最后六个字符为
$$


有人能帮我在iFrame上如何调用MathJax.Hub.Queue([])吗

不能从iframe外部使用MathJax在iframe内处理数学。您需要在iframe本身内部加载MathJax。如果需要,您仍然可以通过调用iframe内部的MathJax从外部触发MathJax,前提是内容来自与容器相同的域。否则,您需要设置一个事件侦听器,并使用
postMessage
与iframe通信。

最后我找到了这个问题的解决方案只是将iFrame替换为HTML5 ContentEditale Div.


现在工作正常…

谢谢您的回复。因为我以前从未使用过iFrame,所以您可以指导我如何在iFrame中加载MathJax。。请给我一些演示代码