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() ;
}

(0)

相关推荐

  • fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法

    本文实例讲述了fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法.分享给大家供大家参考,具体如下: 当部署含有Fckeditor编辑器的应用程序时,在tomcat下什么问题都没有,但当部署到weblogic下的时候就会碰到样式下拉菜单显示不出来和模板也提示没有模板,有的还会碰见 Error loading "/fckeditor/fckstyles.xml" Do you want to see more info? 这样的提示, 出现这个问题的原因

  • FCKeditor 2.6 编码错误导致修改的内容出现乱码的解决方法

    FCKeditor 2.6 的目录 editor 下有一文件 fckeditor.html. 我修改了该文件,其中有些中文字,在 IE 中打开之,发现是乱码,原来这个文件有问题.文件中指定了 charset 为 utf-8: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 可是文件却是以 ANSI 保存的,改为以 UTF-8 保存,中文不再乱码了. 顺便说一下,调用

  • asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法

    弄了半天也没有找到原因,然后又重新到网上下载几个,还是不行,郁闷坏了,最后结合其他编辑器的用法,才知道是配置文件夹中上传文件夹的路径写错了 比如要上传到项目的根目录下的UserFiles下面,web.config的配置如下: 复制代码 代码如下: <appSettings> <add key="FCKeditor:BasePath" value="~/FCKeditor" /> <add key="FCKeditor:User

  • Ewebeditor及fckeditork单引号问题的解决方法

    Ewebeditor及fckeditor,90%的网站都是采用这两种编辑器作为产品或者内容的说明部分的编辑窗口,近日,一客户的外贸站点基本上快完工了,因客户产品分类多,故而让客户自己在后台添加产品,但是客户反映,在后台添加产品时,如果产品说明内容太过复杂的话,产品怎么也添加不入数据库中. 当时,我们也好生郁闷,这到底怎么回事,我们亲自测试后台添加任意的产品或者文字都能成功,偏偏他就不行,在网站搜索了相关的如"Ewebeditor 不能添加到数据库",似乎找到了一点答案,因Ewebedi

  • Asp.net FCKEditor 2.6.3 上传文件没有权限解决方法

    打开解决方案, 找到 FileBrowser/FileWorkerBase.cs 文件 复制代码 代码如下: Response.Write( @"(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.d

  • FCKeditor编辑器添加图片上传功能及图片路径问题解决方法

    现在很多CMS系统因为安全原因会把后台编辑器里的上传功能给去除,但这样一来对实际使用过程造成了很多麻烦,今天我们以ASPCMS系统的FCKeditor编辑器为例,说明一下如何增加图片上传功能. 1. 打开网站后台编辑器里的admin/editor/fckconfig.js这个文件 找到FCKConfig.ImageUpload = false 这句,把false改成true就行啦. FCKConfig.ImageBrowser = false ; 这里也同样把false改成true 2. 看一下

  • 伪静态下不能使用FCKeditor的解决方法

    在使用FCKeditor的时候,可能会碰到以下这个问题,就是在编辑器页面出错,提示为:找不到页面/fckeditor/editor/fckeditor.aspx 那是因为正则中把fckeditor.html也替换成aspx的问题,而实际上并不存在后缀为ASPX的文件.针对这些错误,我采用了下面的方法: 第1步:在正则中优先替换FCK编辑器文件夹的路径,并替换为htm后缀. 复制代码 代码如下: <RewriterRule> <LookFor>~/fckeditor/(.*).htm

  • Fckeditor XML Request error:internal server error (500) 解决方法小结

    原来一直能用的ecshop后台信息发布里面的fckeditor上传功能,换了个机器后不能用了.以为是文件损坏,上传一边不行. 什么xml错误,还弹出一个大的JavaScript alert警告框,内容就是服务器端错误的500内容 网上搜,又说是配置问题,主题问题,想想都不应该,直接请求 复制代码 代码如下: filemanager/connectors/php/connector.php 出了服务器的500错误,html文件能访问,txt也行. 后来从根目录开始查,发现到fckeditor目录里

  • FCKeditor 图片上传进度条不动的解决方法

    因为昨天晚上急着要把理事会员的图片送上网,所以采用FTP传送图片,然后使用<img src="/Upload/abcd.jpg" />这样的笨方法把图片全部搞定. 今天上午8点,开始研究这个问题,在网上查到了这样的帖子,原文如下: 最近有个项目用到FCKEditor,载了目前最新版的2.6.4,配置一切OK,调试状态一切OK,发布到服务器(windows server 2003 sp2),问题来了-- 上传图片后页面左下脚出现脚本错误提示,点开可看到是"没有权限&

  • ie9后浏览器fckeditor无法上传图片、弹出浮层内容不显示的解决方法

    第一种方法: 复制代码 代码如下: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> 讓IE9變成IE8在跑 第二种方法: 升级到IE9后,fckeditor在IE9里的弹出浮动层会出现bug,里面的内容不会出现.所以无论是想在页面编辑器里粘贴内容,还是上传图片等凡是需要弹出窗口操作的东西都会有问题,想要进行其它的操作也只能重新刷新页面.原因是IE9不支持var $=documen

  • jsp fckeditor 上传中文图片乱码问题的解决方法

    经过我修改ConnectorServlet.java和SimpleUploaderServlet.java两个文件,重新生成fckeditor-java-2.3.jar包,要解决所有的乱码问题,有3部要修改1.修改Web容器的字符编码,如果Web容器用的是Tomcat,则修改conf/server.xml文件,在两个Connector中添加"URIEncoding="utf-8"",我这里用的是utf-8编码,所以修改成utf-8,若项目是gb2312编码,则设置为

  • 浏览器执行history.go(-1) FCKeditor编辑框内显示html源代码的解决方法

    解决方法:FCK.LinkedField.value=FCKTools.HTMLEncode(FCK.LinkedField.value);改为 FCK.LinkedField.value=FCKTools.HTMLDecode(FCK.LinkedField.value); 如果问题不能解决,请注意是否清空浏览器缓存.

  • fckeditor在ie9中无法弹出对话框的解决方法(弹出层兼容问题)

    所以无论是想在页面编辑器里粘贴内容,还是上传图片等凡是需要弹出窗口操作的东西都会有问题,想要进行其它的操作也只能重新刷新页面.原因是 IE 9 不支持var $=document.getElementById;这样的写法了. 解决方法可以这么来做: 打开这个文件, fckeditor/editor/js/fckeditorcode_ie.js ,找到第 38行的这个方法:FCKTools.RegisterDollarFunction 将原来的 复制代码 代码如下: FCKTools.Regist

随机推荐