使用loadDataWithBaseUrl在Webview中使用Android MathJax

时间:2013-09-10 05:27:47

标签: android webview mathjax

感谢您考虑这篇文章。我有一个包含大量数学公式的html文件,如下图所示

<p id="p006_002"><span class="class_a">a</span>&#x00A0;&#x00A0;<math><mrow><mn>7</mn><mi>x</mi><mo>&#x2212;</mo><mn>4</mn><mo>=</mo><mn>17</mn></mrow></math></p> <p id="p007_002"><span class="blue-no">b</span>&#x00A0;&#x00A0;

<math display='inline'><mrow><mfrac><mrow><mn>3</mn><mi>x</mi><mo>&#x2212;</mo><mn>2</mn></mrow><mn>4</mn></mfrac><mo>+</mo><mn>5</mn><mo>=</mo><mn>1</mn></mrow></math></p>

<math display='inline'><mrow><mn>2</mn><mrow><mo>(</mo><mrow><mfrac><mrow><mn>4</mn><mi>x</mi></mrow><mn>5</mn></mfrac><mo>&#x2212;</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>=</mo><mn>6</mn></mrow></math> </p>

Mathjax链接以

的形式提供
<script type="text/javascript" src="mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

在Android Android 4.2.2中,当我使用WebView.loadUrl(“file”)时,MathJax被加载,公式生成,但是当我使用

WebView.loadDataWithBaseUrl("baseurl","file as string","text/html","utf-8");

Forumala无法渲染。我希望这些东西可以从Android 4.0.3开始工作。请帮我解决这个问题。谢谢你

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。但是这么晚才更新。如果他们将来面临这个问题,它可能会帮助其他人解决这个问题。 使用webview的loadDataWithBaseUrl加载内联mathjax。我已将所有文件(css,js)等引用替换为完整路径(例如:&#34; file:///),并且我将html加载为

Webview.loadDataBaseWithUrl("http://bar","file:///<file path>","text/html","utf-8);

必须在页面完成时调用mathJax。