Невозможно отобразить содержимое MathML в Google Chrome

У меня есть некоторое содержание MathML на странице HTML, и страница должна отображаться в Google Chrome по протоколу HTTPS. Поэтому я попытался выполнить подход, указанный в приведенной ниже ссылке.

Отображение математических уравнений

но это не сработало (я скопировал script на моей странице HTML). Затем я попытался установить плагин MathJax для Chrome как расширение для Google Chrome. Казалось, что это делает некоторые из MathML в моем файле, но для некоторых я получил ошибку. Я обнаружил, что MathJax может отображать содержимое презентации MathML, но не может отображать контент Content MathML (у меня есть оба типа содержимого на моей странице). Также он не работал через соединение HTTPS. Будет очень полезно, если я получу некоторые обходные пути для решения этой проблемы.

С уважением, Anirban

Ответ 1

Вопрос, связанный с ОП, несколько устарел и описывает, как включить MathML в xhtml (не в html, поскольку тогда это было недействительно). С HTML5 гораздо проще включить MathML.

Chrome не поддерживает MathML, поэтому вам понадобится полифилл. MathJax может отображать как презентацию, так и контент MathML; см. соответствующую документацию по адресу http://docs.mathjax.org/en/latest/mathml.html.

Однако автору необходимо правильно настроить MathJax для этого. К вашему сведению, плагины в магазине Chrome производятся третьими лицами; Кроме того, MathJax работает над https просто отлично, если все сделано правильно.

Ниже приведен пример, который показывает, как включить все функции MathML, которые может предоставить MathJax, включая расширение 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>

Ответ 2

Это работало очень хорошо для меня, когда я был в подобной ситуации.

Добавьте эти сценарии в <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>

Затем

добавьте этот <script> после закрытия тега <body>

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

Смотрите документация

или

вы можете увидеть этот замечательный пример. https://math.stackexchange.com/.. Проверьте источник math.stackexchange..It будет очень полезно..

UPDATE

См. страницу № 54 в этой ссылка.. Он говорит

MathJax поддерживает математические теги MathML3.0, причем некоторые ограничения. Поддержка MathML по-прежнему активно развивается, поэтому некоторые теги еще не реализованы, а некоторые функции не полностью но приходят. Недостатки включают:

• Нет поддержки для выравнивание групп в таблицах.

• Не все атрибуты поддерживаются для столы. Например, columnspan и rowspan еще не реализованы.

• Экспериментальная поддержка элементарных математических тегов: mstack, mlongdiv, msgroup, msrow, mscarries и mscarry. (Через расширение mml3 см. ниже.)

• Экспериментальная поддержка двунаправленной математики.

Ответ 4

Кажется, что можно сделать MathML внутри Chrome с помощью CSS и с помощью HTML5, то есть версии Chrome, которая поддерживает неизвестные теги.

Как эксперимент, в том числе и какой-то детский шаг, с помощью contenteditable = "true", чтобы протестировать редактирование HTML5, я использовал этот CSS здесь:
https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/test-mathml-css

Пример Chrome без CSS:

без CSS

Пример Chrome с CSS:

введите описание изображения здесь

Исходные файлы находятся здесь:
https://gist.github.com/jburse/fb43afd01048feac7028b5642817af0a#file-mathml-html