用了一段时间的 FCKeditor 的 WYSIWYG 编辑器,觉得并不适合自己使用,说实在的。自己并不喜欢 WYSIWYG 编辑器。而且拖慢显示速度。
当初加入 WYSIWYG 编辑器 的原因只是为了 Decode (编码) HTML 而已。
大家都知道,MT 的底层存储是基于 HTML 的。输入的 HTML 代码会在显示的时候直接显示成真正的 HTML ,这样对要输入一些代码之类的东西很头疼,所以。。。加了 FCKeditor 来自动编码 HTML ,仅此而已。
今天,把后台的标签代码移植到了前台,并且找了段 js 代码,加入了手动 Decode 功能,故而取消了前台评论的 FCKeditor WYSIWYG 编辑器。
反正,MT 崇尚的是 简单。呵呵:)
效果如下:请注意本站评论样式。
代码为
function Decode(e) {
if (!canFormat) return;
var str = getSelected(e);if (!str) return;
str = str.replace(new RegExp("&","g"), "&");
str = str.replace(new RegExp("<","g"), "<");
str = str.replace(new RegExp(">","g"), ">");str = str.replace(new RegExp('"',"g"), """);
str = str.replace(new RegExp(' ',"g"), " ");
setSelection(e, str);
return false;
}
2006/10/10更新:
有朋友问在后台添加这个按扭的办法,在评论中回答了。这里也更新下吧:)
首先在 MT 的mt-static文件夹下找到mt.js
在文件里加入上面这段JS代码。
然后打开 MT 安装目录的tmpl/cms/edit_entry.tmpl文件,到其中两处添加按钮的地方,照猫画虎,添加
write('<img title="<MT_TRANS phrase="Decode">" onclick="return Decode(document.entry_form.text_more)" src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/decode.gif" alt="<MT_TRANS phrase="Decode">" width="26" height="19" />');
注意我加粗的地方,看上下文改成 text或者text_more。
即可完成修改。
前台也基本上一样,只是要注意前台<textarea>的id中含有"-",这个在标准js中是无效的,要修改的话,把这个id换个名字:)
PS: 注意到了吧。我上面用的是 <MT_TRANS phrase="Decode"> ,如果你是完美主义者,请在中文包中添加 'Decode' =>'HTML编码' , 的映射。
Enjoy it!
反正偶一般也懒得用那么多样式~~嘿嘿~偶而用用直接输标签也不算费事儿~~~ :P
WYSIWYG 编辑器会让回车变的很大,而且拖慢显示速度。
虾米虾米虾米……
恩,是的呢~~每次那个回复框都是半天才能显示出来的~~
貌似那个编辑器的回车是转换成[p]了?一般的都是[br]呢~~
汗…………原来这样啊。。。。自动转换的。。。
能不能说说在后台编辑器里怎么加入Decode (编码) 按钮?
忘说了。要改的文件是 edit_entry.tmpl
万分感谢!!