在JavaFX WebView中加载MathJax

Loading MathJax in JavaFX WebView

本文关键字:加载 MathJax WebView JavaFX      更新时间:2023-09-26

在我的项目包中有一个HTML文件。换句话说:

com/package/name/index.html

我使用JavaFX WebEngine将其加载到WebView:

    String url = MyApp.class.getResource("index.html").toExternalForm();  
    webView.getEngine().load(url);

MyApp与HTMl文件在同一个包中,所以这工作得很好。页面显示正常

现在我想调用一个javascript库。特别是MathJax.

我已经把MathJax文件夹放在同一个包中,所以.js文件的路径是

com/package/name/MATHJAX/MathJax.js?
无论如何,在HTML文件中我写了
<script type="text/javascript" src="MATHJAX/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

如果我在Chrome或FireFox中运行这个文件,它会很好地打开并解析我的数学。

但是如果我尝试在JavaFX的WebView中打开这个,解析不会发生(所以我假设没有加载MathJax库)。

加载MathJax的正确路径是什么?


进步

:

index.html文件更改为

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js","MathMenu.js"],
    jax: ["input/TeX", "output/HTML-CSS"],
    tex2jax: {
      inlineMath: [ ['$','$'], ["''(","'')"] ],
      displayMath: [ ['$$','$$'], ["''[","'']"] ],
      processEscapes: true
    },
    MathMenu: {
      delay: 600
    },
    "HTML-CSS": { availableFonts: ["TeX"] }
  });
</script>
<script type="text/javascript" src="MATHJAX/MathJax.js"></script>

将有效到达MathJax.js文件。但是,它将无法加载MathJax的其余部分,并抛出如下错误:

文件加载失败:jar: File:/Users/me/Program.jar!/com/package/name/MATHJAX/extensions/MathMenu.js

您是否尝试过使用cdn来包含js?

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?    config=TeX-MML-AM_CHTML">
</script>