Liferay研究之十六:FCKeditor如何插入服务器上的资源?

 

1、点击FCKeditor上的插入图片时,从地址栏中知道,是访问的brower.html

2、brower.html使用了框架。左侧使用frmFolder.html,主工作区使用frmresourceslist.html。
在brower中调用了fckxml.js,这是一个AJAX的封装,用来向服务器发送Command.

3、服务器端通过portal-impl/com.liferay.portal.editor.fckeditor.**来响应。

具体来说:GetFoldersAndFilesCommand.execute 会通过工厂方式来产生一个CommandReceiver,共有三类Receiver, ImageCommandReceiver, DocumentCommandReceiver, PageCommandReceiver. 也就是说,可以插入三类资源,图片,文档,页面链接。

【注意】liferay 4.3.3时,ImageCommandReceiver, DocumentCommandRecievier的_getFolder方法有Bug,需要在开始时,将folderName进行UTF-8编码转换,否则不支持中文字符。smilingleo原创

4、在服务器端向客户端返回相应之后,客户端通过CallBack函数来进行内容处理,比如frmfolders.html中的GetFoldersCallBack,就是打开选中的Folder.
 

你可能感兴趣的:(Liferay研究之十六:FCKeditor如何插入服务器上的资源?)