Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 获得;ReferenceError:MathJax未定义;在为动态内容加载文档后尝试手动调用MathJax时_Javascript_Mathjax - Fatal编程技术网

Javascript 获得;ReferenceError:MathJax未定义;在为动态内容加载文档后尝试手动调用MathJax时

Javascript 获得;ReferenceError:MathJax未定义;在为动态内容加载文档后尝试手动调用MathJax时,javascript,mathjax,Javascript,Mathjax,我尝试创建需要延迟加载数学符号的动态页面,所以我需要在所有数学符号加载完毕后调用MathJax。我试图阅读MathJax文档,发现了这个问题:但当我按照它所说的那样做时,在控制台中出现了“ReferenceError:MathJax未定义”错误。我怎样才能解决这个问题?以下是我的html代码: <!DOCTYPE html> <html> <head> <base target="_top"> <

我尝试创建需要延迟加载数学符号的动态页面,所以我需要在所有数学符号加载完毕后调用MathJax。我试图阅读MathJax文档,发现了这个问题:但当我按照它所说的那样做时,在控制台中出现了“ReferenceError:MathJax未定义”错误。我怎样才能解决这个问题?以下是我的html代码:

    <!DOCTYPE html>
<html>
    <head>
        <base target="_top">
        <meta charset="UTF-8">
        <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <script type="text/javascript" id="MathJax-script" async
                                       src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
        </script>
    </head>
    <body>

        <div id="main" class="container">
            <p>\(A \cup B\)</p>
        </div>

        <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js">
        </script>
        <script>
            $(document).ready(function () {
                $("#main").append("<p>\\(A \\cup B\\)</p>");
                MathJax.typeset();
            })
        </script>
    </body>
</html>

\(A杯\ B杯\)

$(文档).ready(函数(){ $(“#main”)。追加(“\\(A\\cup B\\)

”; typeset(); })
原因 通过在
标记中指定
async
,您以异步方式加载MathJax脚本,这意味着您的浏览器在后台下载MathJax库,同时继续执行页面的其余内容

很可能您的文档已经准备好,所以浏览器执行调用
MathJax.typeset()在它完成加载库之前,导致此未知引用错误

建议 您可以删除
async
属性,强制浏览器先加载库,然后执行其余脚本

或者您可以使用
defer
属性异步加载脚本,并确保脚本以正确的顺序执行(它们相互依赖)


您可能感兴趣的相关主题:





我的回答是否回答了您的问题?删除async并不能解决问题。正在获取相同的错误消息。。。