微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MathJax 在 android webview 上呈现意外的字符

如何解决MathJax 在 android webview 上呈现意外的字符

我正在尝试使用 webview 在 android 应用程序上呈现 MathJax。但是在呈现给定的 html 字符串后显示了意外的字符。

这是我的代码

public void renderHtml(WebView w,String data){
    w.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    w.getSettings().setAppCacheEnabled(true);
    String finalData = data;
  

    w.loadDataWithBaseURL(null,mathJaxScript+"<span style=\" margin:0px; top:0px; \"><math display='inline-block'>"+data+"</math></span>","text/html","utf-8",null);
}

这是要呈现的 MathJax 配置。

public String mathJaxScript="<script type='text/javascript' "
        + "src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML'"
        + "id=\"MathJax-script\" async"
        + "></script>"
        +"<script type='text/x-mathjax-config'>"
        + "MathJax.Hub.Config({ "
        +"skipStartupTypeset: false,"
        + "showMathMenu: false,"
        +"tex2jax: { inlineMath: [[\"$\",\"$\"]],displayMath:[[\"$$\",\"$$\"]] },"
        +"mtextFontInherit: true,"
        +"CommonHTML: {scale: 100},"
        + "});" +
        "  \"  MathJax.Hub.Register.StartupHook('End',() => {\\n\" +\n" +
        "            \"        window.hubReady.next();\\n\" +\n" +
        "            \"        window.hubReady.complete();\\n\" +\n" +
        "            \"      });\\n\"" +
        "</script>"
        + "<span id='math'></span>" ;

这是渲染后的输出

enter image description here

它在 Android 10 和 9 版本中运行良好,但无法在 android 7 中呈现。 如果您对如何解决此问题有任何想法,请告诉我。 提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。