无法在 Google Chrome 中呈现 MathML 内容

Unable to render MathML content in Google Chrome

我在 HTML 页面中有一些 MathML 内容,需要通过 HTTPS 连接在 Google Chrome 中呈现该页面。所以我试着按照下面说的方法link

Displaying Mathml equations

但它不起作用(我在 HTML 页面中复制了脚本)。然后我尝试为 chrome 安装 MathJax 插件作为 Google Chrome 的扩展。这似乎在我的文件中呈现了一些 MathML,但对于一些我得到了一个错误。我发现 MathJax 可以呈现 Presentation MathML 内容但不能呈现 Content MathML 内容(我的页面中有两种类型的内容)。它也不能通过 HTTPS 连接工作。如果我得到一些解决方法来解决这个问题,那将非常有帮助。

此致, 阿尼尔班

当我处于类似情况时,这对我来说非常有效..

<head>

中添加这些脚本
<script type="text/x-mathjax-config">MathJax.Hub.Config({
  config: ["MMLorHTML.js"],
  jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
  extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
  TeX: {
    extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
  }
});</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/2.0-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

然后,

<body> 标签结束后添加此 <script>

<script type="text/javascript">
  MathJax.Hub.Configured()
</script>

documentation

你可以看到这个很棒的例子.. https://math.stackexchange.com/ ..检查math.stackexchange的来源..这真的很有帮助..

更新

见第 54 页 link..它说

MathJax supports the MathML3.0 mathematics tags, with some limitations. The MathML support is still under active development, so some tags are not yet implemented, and some features are not fully developed, but are coming. The deficiencies include:

• No support for alignment groups in tables.

• Not all attributes are supported for tables. E.g., columnspan and rowspan are not implemented yet.

•Experimental support for the elementary math tags: mstack, mlongdiv, msgroup, msrow, mscarries, and mscarry. (Via the mml3 extension, see below.)

• Experimental support for bidirectional mathematics.

The question linked to in the OP 有点过时,它描述了如何在 xhtml 中包含 MathML(不是 html,因为那在当时实际上是无效的)。有了 HTML5,包含 MathML 就容易多了。

Chrome 不支持 MathML,因此您需要一个 polyfill。 MathJax 可以呈现 Presentation 和 Content MathML;请参阅 http://docs.mathjax.org/en/latest/ 中的相关文档。

但是,作者需要正确配置 MathJax 才能这样做。仅供参考,Chrome 商店中的插件由第三方制作;此外,如果正确完成,MathJax 可以在 https 上正常工作。

下面的示例展示了如何启用 MathJax 可以提供的所有 MathML 功能,包括实验功能的 mml3.js 扩展。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Fullest MathML support using MathJax</title>
  <script>window.MathJax = { MathML: { extensions: ["mml3.js", "content-mathml.js"]}};</script>
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=MML_HTMLorMML"></script>
</head>
<body>
  <math display="block"> 
    <apply> 
      <plus/> 
      <ci>a</ci> 
      <apply> 
        <minus/> 
        <ci>b</ci> 
        <ci>c</ci> 
      </apply> 
    </apply> 
  </math> 
  <math display="block">
    <mrow>
      <mi>a</mi>
      <mo>+</mo>
      <mrow>
        <mi>b</mi>
        <mo>-</mo>
        <mi>c</mi>
      </mrow>
    </mrow>
  </math>

</body>
</html>

试试我的 Chrome 扩展程序 "HTML + MathML": https://chrome.google.com/webstore/detail/fmath-html-%2B-mathml-solut/emdjdpchbjipnjhkfljbcapgfecmnglm?hl=en-GB

或我对 "All Browsers" 的解决方案: http://www.fmath.info/formula/js/allBrowser.jsp

问候

似乎可以借助 CSS 和使用 HTML5 在 Chrome 中呈现 MathML,即支持未知的 Chrome 版本标签。

作为实验,包括一些小步骤摆弄 contenteditable="true" 来测试 HTML5 编辑,我在这里使用这个 CSS:
https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/test-mathml-css

Chrome 没有 CSS 的示例:

Chrome CSS 示例:

源文件在这里:
https://gist.github.com/jburse/fb43afd01048feac7028b5642817af0a#file-mathml-html

这个 chrome 扩展简单而优雅:

https://chrome.google.com/webstore/detail/math-anywhere/gebhifiddmaaeecbaiemfpejghjdjmhc/related?hl=en