欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

FCKEDITOR 的高级功能和常见问题的解决方法

程序员文章站 2022-06-16 19:47:00
它可和php、javascript、asp、asp.net、coldfusion、java、以及abap等不同的编程语言相结合。fck的配置和使用都很简单,但是默认的配置不...
它可和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() ;
}