http://fiddle.jshell.net/tLth8/6/show/
在IE<9中,代码已经高亮显示,但是换行符被忽略,代码全部在单行中显示,如下图所示:
如何使源代码中的行得以正确渲染呢?请看下面图片:
我尝试更改CSS以便行显示为display:block;
,但是没有任何区别。
我尝试过的:
.CodeMirror pre {
display:block;
}
.CodeMirror-lines div{
display:block;
}
jQuery源代码:
$("span.code, div.code").each(function () {
var $this = $(this),
isdiv = $this.is("div"),
$code = (isdiv) ? $this.html().replace(/^(\r\n)|(\n)/, ''):$this.html(),
$unescaped = (isdiv) ? $('<div/>').html($code).text() : $('<span/>').html($code).text();
$this.empty();
if (isdiv) {
$this.css({
"display": "block"
});
$this.after('<div class="clear"/>');
}
var editor = CodeMirror(this, {
value: $unescaped,
mode: (isdiv) ? "text/html" : "javascript",
lineNumbers: (isdiv) ? true : false,
readOnly: false
});
if (isdiv) {
var linecount = editor.lineCount();
for (j = 0; j < linecount; j++) {
editor.indentLine(j);
}
}
});