Конфликт отображения схем Draw.io и математических формул MathJax

Когда на сайте присутствуют два скрипта схем Draw.io и математических формул MathJax возможно некорректное отображение формул в связи с тем, что MathJax пытается прочесть весь код страницы, в том числе и не загруженную полностью схему. В связи с этим возникают ошибки парсинга скриптом MathJax.
Для того, чтобы этого избежать добавляем перед тегом добавляем код отображения схемы в несколько измененном виде, чтобы запускать его спустя некоторое время. В итоге получается следующее:
 
<head>
<!-- ... -->
<script type='text/x-mathjax-config'>
MathJax.Hub.Config({tex2jax: {inlineMath: [[&#39;&#39;,&#39;&#39;,&#39;&#39;], [&#39;\\(&#39;,&#39;\\)&#39;]]}});
</script>
<script src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML' type='text/javascript'>
</script>
</head>
<body>
<!-- ... -->
<script>
setTimeout(function() {
var script = document.createElement('script');
script.src = 'https://www.draw.io/embed2.js?s=flowchart&amp;';
script.type = 'text/javascript';
document.head.appendChild(script);
}, 2000);
</script>
</body>
Обратим внимание на то, что теперь после каждой схемы нам придется удалять следующую строчку кода, которая создается Draw.io для встраивания ее кода в HTML.

<script src="https://www.draw.io/embed2.js?s=flowchart&amp;" type="text/javascript"></script>

Комментарии

Популярные сообщения