Ace编辑器出现XXXXXXX #132
This commit is contained in:
2
public/js/app/page-min.js
vendored
2
public/js/app/page-min.js
vendored
File diff suppressed because one or more lines are too long
@ -465,6 +465,7 @@ function initEditor() {
|
|||||||
// 初始化编辑器
|
// 初始化编辑器
|
||||||
tinymce.init({
|
tinymce.init({
|
||||||
inline: true,
|
inline: true,
|
||||||
|
theme: 'leanote',
|
||||||
valid_children: "+pre[div|#text|p|span|textarea|i|b|strong]", // ace
|
valid_children: "+pre[div|#text|p|span|textarea|i|b|strong]", // ace
|
||||||
/*
|
/*
|
||||||
protect: [
|
protect: [
|
||||||
@ -480,7 +481,8 @@ function initEditor() {
|
|||||||
|
|
||||||
// 为了把下拉菜单关闭
|
// 为了把下拉菜单关闭
|
||||||
ed.on("click", function(e) {
|
ed.on("click", function(e) {
|
||||||
$("body").trigger("click");
|
// $("body").trigger("click");
|
||||||
|
// console.log(tinymce.activeEditor.selection.getNode());
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -972,14 +974,26 @@ LeaAce = {
|
|||||||
if(!force && !me.canAndIsAce()) {
|
if(!force && !me.canAndIsAce()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
me.disableAddHistory();
|
|
||||||
var $pre = $('#' + id);
|
var $pre = $('#' + id);
|
||||||
|
if($pre.length == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var rawCode = $pre.html(); // 原生code
|
||||||
|
try {
|
||||||
|
me.disableAddHistory();
|
||||||
|
|
||||||
|
// 本身就有格式的, 防止之前有格式的显示为<span>(ace下)
|
||||||
|
if($pre.attr('style') || $pre.html().indexOf('style') != -1) {
|
||||||
|
$pre.html($pre.text());
|
||||||
|
// return;
|
||||||
|
}
|
||||||
$pre.find('.toggle-raw').remove();
|
$pre.find('.toggle-raw').remove();
|
||||||
var preHtml = $pre.html();
|
var preHtml = $pre.html();
|
||||||
|
|
||||||
$pre.removeClass('ace-to-pre');
|
$pre.removeClass('ace-to-pre');
|
||||||
$pre.attr("contenteditable", false); // ? 避免tinymce编辑
|
$pre.attr("contenteditable", false); // ? 避免tinymce编辑
|
||||||
var aceEditor = ace.edit(id);
|
var aceEditor = ace.edit(id);
|
||||||
|
|
||||||
aceEditor.setTheme("ace/theme/tomorrow");
|
aceEditor.setTheme("ace/theme/tomorrow");
|
||||||
|
|
||||||
var brush = me.getPreBrush($pre);
|
var brush = me.getPreBrush($pre);
|
||||||
@ -991,8 +1005,17 @@ LeaAce = {
|
|||||||
}
|
}
|
||||||
b = b || "javascript";
|
b = b || "javascript";
|
||||||
aceEditor.session.setMode("ace/mode/" + b);
|
aceEditor.session.setMode("ace/mode/" + b);
|
||||||
|
aceEditor.session.setOption("useWorker", false); // 不用语法检查
|
||||||
|
// retina
|
||||||
|
if(window.devicePixelRatio == 2) {
|
||||||
|
aceEditor.setFontSize("12px");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aceEditor.setFontSize("14px");
|
||||||
|
}
|
||||||
aceEditor.getSession().setUseWorker(false); // 不用语法检查
|
aceEditor.getSession().setUseWorker(false); // 不用语法检查
|
||||||
aceEditor.setOption("showInvisibles", false); // 不显示空格, 没用
|
aceEditor.setOption("showInvisibles", false); // 不显示空格, 没用
|
||||||
|
aceEditor.setShowInvisibles(false); // OK 不显示空格
|
||||||
aceEditor.setOption("wrap", "free");
|
aceEditor.setOption("wrap", "free");
|
||||||
aceEditor.setShowInvisibles(false);
|
aceEditor.setShowInvisibles(false);
|
||||||
aceEditor.setAutoScrollEditorIntoView(true);
|
aceEditor.setAutoScrollEditorIntoView(true);
|
||||||
@ -1024,9 +1047,18 @@ LeaAce = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
// "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
||||||
me.resetAddHistory();
|
me.resetAddHistory();
|
||||||
return aceEditor;
|
return aceEditor;
|
||||||
|
} catch(e) {
|
||||||
|
// 当有错误时, 会有XXXXX的形式, 此时不要ace, 直接原生的!!!
|
||||||
|
console.error('ace error!!!!');
|
||||||
|
console.error(e);
|
||||||
|
$pre.attr("contenteditable", true);
|
||||||
|
$pre.removeClass('ace-tomorrow ace_editor ace-tm');
|
||||||
|
$pre.html(rawCode);
|
||||||
|
me.resetAddHistory();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
clearIntervalForInitAce: null,
|
clearIntervalForInitAce: null,
|
||||||
initAceFromContent: function(editor) {
|
initAceFromContent: function(editor) {
|
||||||
|
Reference in New Issue
Block a user