繁体   English   中英

在JavaFX WebView中加载MathJax

[英]Loading MathJax in JavaFX WebView

我的项目包中有一个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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM