首页 > 开发 > 综合 > 正文

网页编辑器FCKEDITOR 的高级功能和常见问题的解决方法

2024-07-21 02:53:42
字体:
来源:转载
供稿:网友
FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。
 
它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合。FCK的配置和使用都很简单,但是默认的配置不能满足所有的需求,所以我们需要了解一些FCK的高级功能。 

获取FCK的实例 
FCKeditorAPI是FCKeditor加载后注册的一个全局对象,利用它我们就可以完成对编辑器的各种操作。 
在当前页获得 FCK 编辑器实例: 
var Editor = FCKeditorAPI.GetInstance('InstanceName'); 
从 FCK 编辑器的弹出窗口中获得 FCK 编辑器实例: 
var Editor = window.parent.InnerDialogLoaded().FCK; 
从框架页面的子框架中获得其它子框架的 FCK 编辑器实例: 
var Editor = window.FrameName.FCKeditorAPI.GetInstance('InstanceName'); 
从页面弹出窗口中获得父窗口的 FCK 编辑器实例: 
var Editor = opener.FCKeditorAPI.GetInstance('InstanceName'); 

FCK获取焦点 
获取焦点是否在FCK中: 
oEditor.HasFocus 
FCK获取焦点: 
oEditor.Focus();//获取焦点 

获取和设置FCK的内容 
获得 FCK 编辑器的内容: 
oEditor.GetXHTML(formatted); // formatted 为:true|false,表示是否按HTML格式取出。 

设置 FCK 编辑器的内容: 
oEditor.SetHTML("content", false); // 第二个参数为:true|false,是否以所见即所得方式设置其内容。 

插入内容到 FCK 编辑器: 
oEditor.InsertHtml("html"); // "html"为HTML文本 

检查 FCK 编辑器内容是否发生变化: 
oEditor.IsDirty(); 
复制代码代码如下:

// 获取编辑器中HTML内容 
function getEditorHTMLContents(EditorName) { 
var oEditor = FCKeditorAPI.GetInstance(EditorName); 
return(oEditor.GetXHTML(true)); 


// 获取编辑器中文字内容 
function getEditorTextContents(EditorName) { 
var oEditor = FCKeditorAPI.GetInstance(EditorName); 
return(oEditor.EditorDocument.body.innerText); 


// 设置编辑器中内容 
function SetEditorContents(EditorName, ContentStr) { 
var oEditor = FCKeditorAPI.GetInstance(EditorName) ; 
oEditor.SetHTML(ContentStr) ; 



FCK的事件处理 
FCK定义有OnComplete,OnBlur和OnFocus等事件,这样就可以使用事件的处理函数完成相应的处理。 
FCK添加事件处理函数的方法是:fckInstance.Events.AttachEvent( EventName, function) 
代码 
复制代码代码如下:

//FCKeditor加载完成后做处理的方法 
function FCKeditor_OnComplete( editorInstance ) 

editorInstance.Events.AttachEvent( 'OnBlur' , FCKeditor_OnBlur ) ; 
editorInstance.Events.AttachEvent( 'OnFocus', FCKeditor_OnFocus ) ; 

function FCKeditor_OnBlur( editorInstance ) 

//失去焦点收起工具栏 
editorInstance.ToolbarSet.Collapse() ; 

function FCKeditor_OnFocus( editorInstance ) 

editorInstance.ToolbarSet.Expand() ; 


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