2015-08-21 2 views
1

У меня есть HTML-файл внутри моего пакета проектов. Другими словами:Загрузка MathJax в JavaFX WebView

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, он откроется отлично и проанализирует мою математику.

Но если я попытаюсь открыть это в WebView JavaFX, синтаксический разбор не произойдет (поэтому я предполагаю, что библиотека 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, метание ошибки, как это:

File failed to load: jar:file:/Users/me/Program.jar!/com/package/name/MATHJAX/extensions/MathMenu.js

+0

Извините, вы правы, это не дубликат. Во всяком случае, я просто попробовал загрузить страницу, включая MathJax, в свой «WebView», и он загрузился нормально. Рассматривая свой прогресс, вы просто не настраиваете 'MathMenu'? Я думаю, вы должны добавить его в свои «расширения» и добавить в свою конфигурацию, как описано здесь: http://docs.mathjax.org/en/latest/options/MathMenu.html – heenenee

+0

@heenenee Hm. Я добавил его сейчас (отредактировал мой вопрос), но похоже, что он делает ту же ошибку: «Файл не загружен: jar: file: /Users/me/Program.jar!/Com/package/name/MATHJAX/extensions/MathMenu.js' - вы могли загружать как ваши 'index.html', так и MathJax из самого JAR? Могу ли я получить копию вашего проекта? – Voldemort

+0

Я сделал, но я не использовал 'MathMenu'. Это часть более крупного проекта, который я использую для тестирования случайных вещей, прошу несколько минут, и я добавлю его в отдельный проект для совместного использования. – heenenee

ответ

0

Вы пытались использовать 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> 
Смежные вопросы