首页 > 开发 > 综合 > 正文

CKEditor/FCKEditor 使用FCKeditor 2.6.5 快速使用教程(含插入图片)

2024-07-21 02:53:43
字体:
来源:转载
供稿:网友
CKEditor 是著名的 HTML 编辑器,IBM、Oracle、Adobe 等都在用。CKEditor 创建于 2003 年,其前身为 FCKEditor,在 2009 年的时候把“F”去掉了,更名为 CKEditor。
 
其开源协议是基于 GPL, LGPL 和 MPL 的。官方网站:http://ckeditor.com/ 

一般来说,我们在编辑内容时,先是读入到 textarea,再将 textarea 的内容赋给编辑器。因为直接把内容作为字符串给编辑器的 Value 属性赋值使用的是 JavaScript 代码,要让 JS 代码不受内容中双引号、换行等的干扰,只有先读入到 textarea 最方便。 

使用 FCKeditor 2.6.5 
复制代码代码如下:

<div><textarea id="fckcontent" name="content">cftea</textarea></div> 
<script type="text/javascript" src="fckeditor/fckeditor.js"></script> 
<script type="text/javascript"> 
<!-- 
var oFCKeditor = new FCKeditor("fckcontent"); 
oFCKeditor.BasePath = "fckeditor/"; // fckeditor 文件夹位置。 
oFCKeditor.Create(); 
//--> 
</script> 

本来应该用 display:none 将 textarea 隐藏起来,不过为了查看效果,这里不隐藏。 

这样编辑器就自动与 fckcontent 关联起来了,打开网页时 FCKeditor 自动读取 textarea 的内容,提交时又自动将其内容(自动为 XHTML)赋给 textarea。 

注意,我们 textarea 的 id 和 name 值不一样,为什么呢? 

这里应该是这个版本不太完善的地方,如果我们把 textarea 的 id 和 name 值设置为一样,那么 FCKeditor 文本区的 name 值也是 content,在服务器端 Request.Form("content").Count 就会有两个,我们服务器端取值就稍稍有点不方便,得用 Request.Form("content")(0)。如果我们将 id 设为 fckcontent,那么 FCKeditor 文本区的 name 就是 fckcontent,与 textarea 不同名。 

设置编辑器宽高 

var oFCKeditor = new FCKeditor("fckcontent", 500, 300); 
或 
复制代码代码如下:

var oFCKeditor = new FCKeditor("fckcontent"); 
oFCKeditor.Width = 500; 
oFCKeditor.Height = 300; 

设置工具条 

var oFCKeditor = new FCKeditor("fckcontent", 500, 300, "Basic"); 
注意第四个参数,其可选值有 Basic、Default,注意大小写不可搞错,分别表示基本工具条、默认工具条(全部按钮)。 

设置初始值、设置值、取值 

设置初始值 

实际上设置初始值很少用,因为一般都是与 textarea 关联的,故只是简单列出来一下,不深究。说明一下,如果关联的 textarea 存在,则赋初始值是没有用的。 

var oFCKeditor = new FCKeditor("fckcontent2", 500, 300, "Default", "VeVb武林网"); 
或 
复制代码代码如下:

var oFCKeditor = new FCKeditor("fckcontent2", 500, 300, "Default"); 
oFCKeditor.BasePath = "fckeditor/"; 
oFCKeditor.Value = "cftea"; // 必须在 Create 之前 
oFCKeditor.Create(); 

设置值 

若要演示此示例,最好是放在按钮的事件处理程序中,目的是有些延迟,否则会说 FCKeditorAPI 未定义。 
复制代码代码如下:

var oEditor = FCKeditorAPI.GetInstance("fckcontent"); 
oEditor.SetHTML("VeVb武林网"); 

取值 

若要演示此示例,最好是放在按钮的事件处理程序中,目的是有些延迟,否则会说 FCKeditorAPI 未定义。 
复制代码代码如下:

var oEditor = FCKeditorAPI.GetInstance("fckcontent"); 
alert(oEditor.GetXHTML()); // 还有个类似方法是 GetHTML,但不推荐用 GetHTML。 

您这样做很危险: 
复制代码代码如下:

var oEditor = FCKeditorAPI.GetInstance("fckcontent"); 
oEditor.SetHTML("VeVb武林网"); 
alert(oEditor.GetXHTML()); // 这里的值并不一定是上一句赋的值。因为他们太近了,值还没来得及赋,就已经 alert 了。 

插入图片 

若要演示此示例,最好是放在按钮的事件处理程序中,目的是有些延迟,否则会说 FCKeditorAPI 未定义。 

FCKeditorAPI.GetInstance("fckcontent").InsertHtml("<img src...>");
 

注:相关教程知识阅读请移步到编辑器频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表