在Codemirror中,实时预览模式不能用于Markdown,我遇到了问题。我基本上只是想达到和现在一样的效果。就其立场而言,实时预览适用于HTML,而不是Markdown。我跟踪了几次演示,并尝试了一些没有运气的东西,我作为最后的手段来到这里。以下是相关代码:
在我正在加载的文档的头上:
<script src="editor/lib/codemirror.js"></script>
<link rel="stylesheet" href="editor/lib/codemirror.css">
<script src="editor/lib/util/overlay.js"></script>
<script src="editor/mode/markdown/markdown.js"></script>注意:我在一个名为editor的文件夹中有Codemirror文件。这是我做过的唯一真正偏离正常设置的方法。
然后,在我的文档的<body>中,我得到了一个包含两个元素的<form>:
<textarea id="content" name="content"></textarea>和<iframe id="preview"></iframe>
然后在页面底部运行以下JavaScript (顺便说一下,我也使用jQuery 1.8.2 ):
// Initialize the editor when document finishes loading
jQuery(document).ready(function() {
var delay;
var editor = CodeMirror.fromTextArea(document.getElementById("content"), {
lineNumbers: false,
mode: 'markdown',
matchBrackets: false,
theme: "ambiance",
onChange: function() {
clearTimeout(delay);
delay = setTimeout(updatePreview, 300);
}
});
// Initialize the live-preview mode
function updatePreview() {
var previewFrame = document.getElementById('preview');
var preview = previewFrame.contentDocument || previewFrame.contentWindow.document;
preview.open();
preview.write(editor.getValue());
preview.close();
}
setTimeout(updatePreview, 300);
});我不知道我做错了什么。我尝试过加载覆盖模式以及XML,但都没有效果。我在这里发现了两个帖子,但它们并不完全相关,而且代码对我也不起作用。实时预览正在显示和更新,但问题是,我只得到一串没有格式化的文本。
因此,例如,下面的标记:#标题1
A paragraph with __bold__ *text*.
And [a link](http://example.com)将在实时预览iframe中输出它,就像我在这里键入的那样:
# Heading 1 A paragraph with __bold__ *text*.And [a link](http://example.com)
它不会将下划线或星号变成粗体或斜体文本,而完全忽略换行符。
对出什么问题有什么想法吗?我甚至不能修改演示来让它开始工作。我一定是漏掉了一些知识。
发布于 2012-11-09 07:28:07
浏览器不显示标记,而是显示HTML。您必须添加一个步骤,使用例如https://github.com/chjj/marked将它们转换为HTML。
https://stackoverflow.com/questions/13297551
复制相似问题