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() ;
}
获取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() ;
}
推荐阅读
-
Android高级界面组件之拖动条和评星条的功能实现
-
Android高级界面组件之拖动条和评星条的功能实现
-
Win10系统应用和功能卸载按钮灰色无法卸载应用的原因及解决方法图文教程
-
Applewatch6和Siri抬腕对话功能无反应的解决方法
-
各版本中的Excel表格文件菜单和相关功能无法使用的解决方法
-
WIFI模块的常用功能开发和遇到的问题,以及解决方法
-
FCK编辑器(FCKEditor)添加新按钮和功能的修改方法
-
WPS文字的查找和替换功能使用图解有普通与高级之分
-
FCKEDITOR 的高级功能和常见问题的解决方法
-
北京的IT精英俱乐部,这个群主要供高级程序员,高级软件工程师,架构师使用交流和讨论解决方法