CuteEditor6.0页面前端不能用脚本getHTML()获得编辑器内容,因为getHTML()根本不存在,既不在当前页面脚本中定义,也在外链脚本中也找不找这个方法的定义,而CuteEditor5.0可以(CuteEditor5.0有些脚本方法即使存在,在不同浏览器下不一定都能正常工作)。博客园是用了较新版本的CuteEditor,前台脚本对编辑器内容的验证只是作了非空验证,它的代码是这样的:
if (document.getElementById('CE_Editor_Edit_EditorBody_ID') != null && document.getElementById('CE_Editor_Edit_EditorBody_ID').value == '')
{
alert("请输入内容!");
return false;
}
一、CuteEditor的安装
1、将以下文件考贝到你站点根目录下的bin内(这些在CuteEditor6.0/bin下都可以找到)
CuteEditor.dll,
CuteEditor.ImageEditor.dll(6.0增加的EditorImage功能),
CuteEditor.lic(解密文件),
NetSpell.SpellChecker.dll(拼写检查功能)
注:(“.dic”为扩展名的文件是词典保存为纯文本文件的格式。将CuteEditor6.0/bin文件夹里的都拷到站点根目录下的bin内也可以)
2、将CuteSoft_Client文件夹拷贝到项目的根目录
CuteSoft_Client包含CuteEditor文件夹和example.css,放了控件图片,文件之类的数据example.css它指定了编辑器的样式。(在2.0下可能要把dialog文件夹里面的getfilethub.aspx删除)
注:FilesPath用来设置所对应的目录,如:FilesPath="~/admin/CuteSoft_Client/CuteEditor/"
3、在根目录下建立Uploads的文件夹作为上传图片及附件的根目录
4、将CuteEditor.dll添加到工具箱
先在工具箱空白处右击选择“添加选择项”,给选项卡添加一外名称为:CuteEditor。再在该选项卡中右击,选择“选择项 ”,在弹出的对话框的“.NET Frameword组件”标签中选择要添加的DLL文件即可。
5、CuteEditor属性设置(假设当前页在根目录下)
1)AutoConfigure设为simple,即选择最简单的界面显示方式
2)EditorWysiwygModecss设为:CuteSoft_Client/example.cs,需要把example.css文件放到该目录下。
3)FilesPath设为:CuteSoft_Client/CuteEditor,设置CuteEditor目录的路径
6、控件的调用代码如下:
<%@ Register TagPrefix="CE" Namespace="CuteEditor" Assembly="CuteEditor" %> 如果是按照第4步从工具箱中拖放到页面的话,则此代码会自动生成,不需要要手动添加。
<CE:EDITOR id="Editor1" runat="server" Width="700px" FilesPath="~/CuteSoft_Client/CuteEditor/" EditorWysiwygModeCss="../example.css" ThemeType="Office2003_BlueTheme"></CE:EDITOR>
二、基本属性:
EditorWysiwygModeCss :设置样式
ThemeType :设置风格
AutoConfigure :选择功能是简单还是复杂的
Text :设置加载时候默认内容
MaxHTMLLength :设置最大长度
BreakElement :默认“回车”产生什么HTML
URLType :没发现有什么区别
ResizeMode :自动长度(长度设置的几中形式)
ReadOnly :是否为只读
CustomCulture :设置语言类型 china 为zh-cn
EditCompleteDocument :设置是否完整的HTML页面代码(也就是说是不是包括html头)
AllowPasteHtml :是否允许粘帖HTML代码
EnableContextMenu :在文本里是否显示右键菜单
三、CuteEditor文件夹里的配置
1)控制工具拦显示:在CuteSoft_Client/CuteEditor/Configuration/AutoConfigure 里设置
2)控制右键显示:CuteSoft_Client/CuteEditor/Configuration/ContextMenuMode里设置
3)设置权限:CuteSoft_Client/CuteEditor/Configuration/Security里设置
例如要设置各种组件的大小等属性限制,如控制上传文件的大小等,可在CuteSoft_Client/CuteEditor/Configuration/Security修改“Security”文件夹中的“Default.config”文件即可
==========================
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<security name="RestrictUploadedImageDimension">true</security> //是否限制上传图象尺寸
<security name="OverWriteExistingUploadedFile">false</security> //如果上传的文件已经存在,是否将其覆盖
<security name="UseTimeStampRenameUploadedFiles">true</security> //重命名为时间
<security name="AutoResizeUploadedImages">true</security> //是否自动调整上传图象
<security name="MaxImageWidth">1024</security> //上传图象的最大宽度
<security name="MaxImageHeight">768</security> //上传图象的最小宽度
<security name="MaxImageSize">1000</security> //上传图象文件的最大值
<security name="MaxMediaSize">100</security> //上传媒体文件的最大值
<security name="MaxFlashSize">100</security> //上传Flash文件的最大值
<security name="MaxDocumentSize">10000</security> //文档最大值
<security name="MaxTemplateSize">1000</security> //模板最大值
<security name="ImageGalleryPath">~/uploads</security> //图象文件上传路径
<security name="MediaGalleryPath">~/uploads</security> //媒体文件上传路径
<security name="FlashGalleryPath">~/uploads</security> //Flash文件上传路径
<security name="TemplateGalleryPath">~/templates</security> //模板路径
<security name="FilesGalleryPath">~/uploads</security> //文件库路径
<security name="MaxImageFolderSize">102400</security> //图象文件夹最大值
<security name="MaxMediaFolderSize">102400</security> //媒体文件夹最大值
<security name="MaxFlashFolderSize">102400</security> //Flash文件夹最大值
<security name="MaxDocumentFolderSize">102400</security> //文档文件夹最大值
<security name="MaxTemplateFolderSize">102400</security> //模板文件夹最大值
<security name="ThumbnailWidth">80</security> //最小宽度
<security name="ThumbnailHeight">80</security> //最小高度
<security name="ThumbnailColumns">5</security> //最小列数
<security name="ThumbnailRows">3</security> //最小行数
<security name="AllowUpload">true</security> //是否允许上传
<security name="AllowModify">true</security> //是否允许修改
<security name="AllowRename">true</security> //是否允许重命名
<security name="AllowDelete">true</security> //是否允许删除
<security name="AllowCopy">true</security> //是否允许复制
<security name="AllowMove">true</security> <!-- this is rename too --> //是否允许移动
<security name="AllowCreateFolder">true</security> //是否允许创建文件夹
<security name="AllowDeleteFolder">true</security> //是否允许删除文件夹
<security name="ImageFilters"> //这里过滤(设置)图象文件格式
<item>.jpg</item>
<item>.jpeg</item>
<item>.gif</item>
<item>.png</item>
</security>
<security name="MediaFilters"> //这里过滤(设置)媒体文件格式
<item>.avi</item>
<item>.mpg</item>
<item>.mpeg</item>
<item>.mp3</item>
</security>
<security name="DocumentFilters"> //这里过滤(设置)文档文件格式
<item>.txt</item>
<item>.doc</item>
<item>.pdf</item>
<item>.zip</item>
<item>.rar</item>
<item>.avi</item>
<item>.mpg</item>
<item>.mpeg</item>
<item>.swf</item>
<item>.jpg</item>
<item>.jpeg</item>
<item>.gif</item>
<item>.png</item>
<item>.htm</item>
</security>
</configuration>
========================
4)设置工具拦按钮具体功能:CuteSoft_Client/CuteEditor/Configuration/Shared 里设置
5)设置工具拦按钮具体功能:CuteSoft_Client/CuteEditor/Configuration/Shared 里设置
6)设置语言:CuteSoft_Client/CuteEditor/Configuration/Languages里设置
7)添加字体:CuteSoft_Client/CuteEditor/Configuration/Shared/Common.config里设置
感觉 CuteEditor 每处都可以 改变,因为它整体思路都是用摸板,具体体现形式写在配置文件里面。用户修改配置文件或是它提供的属性就可以实现自己的功能!
四、CuteEditor的服务器端控制
1)设置编辑器的默认文本:
Editor1.Text = "Default Text"; //服务器端方法
var editor = document.getElementById('<%=Editor1.ClientID %>'); //JavaScript方法
var editorText = editor.getHTML();
2)修改文件的上传目录:Editor1.SetSecurityGalleryPath("~/uploads/jpg");
修改上传文件的总大小(以Flash为例):Editor1.SetSecurityMaxFlashFolderSize(1000);
修改单个上传文件的大小(以Flash为例):Editor1.SetSecurityMaxFlashSize(kb); //默认KB为单位
3)多用户文件夹
由于上传的文件统一被放置到uploads文件夹中,可以通过程序控制为每个用户建立一个上传的文件 夹。代码如下:
using System.IO;
string username = Session["username"].ToString() ;
fullPath = Server.MapPath("uploads//") + username;
if (!Directory.Exists(fullPath))
{
Directory.CreateDirectory(fullPath);
}
Editor1.SetSecurityGalleryPath("~/uploads/" + username);