升级到kissy 1.3后,Editor如何用代码切换编辑模式?

33 views
Skip to first unread message

Sim Jiason

unread,
Dec 16, 2013, 4:33:14 AM12/16/13
to kiss...@googlegroups.com
(需求背景:编辑器默认是源码模式,有些用户直接输入字符串(没有 HTML 开始结束标签),保存后会有些问题,于是保存前判断如果是源码模式,就先切换到可视模式)

之前使用 kissy 1.2 的时候,可以 use('sourcearea/support'); 后,使用 S.Editor.SourceAreaSupport.exec(); 这条命令来切换编辑器的编辑模式,升级到 1.3后,有类似的方式用代码切换编辑器的模式不?

尝试1:
用 fire 触发可视模式那个按钮的的点击事件,例如:Event.fire(DOM.query('.ks-editor-toolbar-sourceArea')[0],'click');
结果:再 editor.sync(); 的时候,报错:editor.js 中的 _getData 方法 html = self.get("document")[0].body.innerHTML; 这句中的 “TypeError: self.get(...) is undefined”;(估计是切换模式后,编辑器文档重建);
 
尝试2:
试用 checkbox-source-area;看这边的文档说明“框选切换源码”,应该是可以实现这个功能的,看了下源码,包含 editor.set("mode", SOURCE_MODE); 的方法 _check 或是 _sourcemode、_wysiwygmode 都是内部方法;

yiming he

unread,
Dec 16, 2013, 4:56:57 AM12/16/13
to kiss...@googlegroups.com
要后端用 html parser 等做闭合,前端管了也没用

在 2013年12月16日星期一UTC+8下午5时33分14秒,Sim Jiason写道:

Sim Jiason

unread,
Dec 16, 2013, 5:15:27 AM12/16/13
to kiss...@googlegroups.com
那如果没不考虑 html parser 的问题,就 “之前使用 kissy 1.2 的时候,可以 use('sourcearea/support'); 后,使用 S.Editor.SourceAreaSupport.exec(); 这条命令来切换编辑器的编辑模式,升级到 1.3后,有类似的方式用代码切换编辑器的模式不?” 这一点,js 有其他实现不?谢谢

yiming he

unread,
Dec 16, 2013, 5:17:50 AM12/16/13
to kiss...@googlegroups.com
看下源码 htmlparser 模块吧

在 2013年12月16日星期一UTC+8下午5时33分14秒,Sim Jiason写道:

Sim Jiason

unread,
Dec 16, 2013, 5:20:46 AM12/16/13
to kiss...@googlegroups.com
好的,谢谢

在 2013年12月16日星期一UTC+8下午6时17分50秒,yiming he写道:
Reply all
Reply to author
Forward
0 new messages