1

是否有将脚本(例如 MathJax)加载到 EpicEditor 预览 iFrame 中?我希望我的预览是正确的 Markdown,然后运行 ​​javascript 来预览 MathJax 内容。

谢谢!

4

1 回答 1

2

看来您应该手动将 MathJax 脚本注入预览器 iframe。像这样的东西:

var editor = new EpicEditor(opts).load();

previewer = editor.getElement('previewer');
var mathjax = previewer.createElement('script');
mathjax.type = 'text/javascript';
mathjax.src = 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
previewer.body.appendChild(mathjax);

var config = previewer.createElement('script');
config.type = 'text/x-mathjax-config';
config.text = "MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']], displayMath: [['$$','$$']], processEscapes: true}});";
previewer.body.appendChild(config);

然后您可以在预览事件上渲染方程式:

editor.on('preview', function() {
    editor.getElement('previewerIframe').contentWindow.eval(
        'MathJax.Hub.Queue(["Typeset",MathJax.Hub]);');
});

这也适用于全屏实时编辑模式。

于 2014-04-03T03:39:52.770 回答