王朝百科
分享
 
 
 

FCKEDITOR

王朝百科·作者佚名  2010-02-21  
宽屏版  字体: |||超大  

什么是FckEditorFCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合。“FCKeditor”名称中的“FCK” 是这个编辑器的作者的名字Frederico Caldeira Knabben的缩写。

FCKeditor 相容于绝大部分的网页浏览器,像是 : Internet Explorer 5.5+ (Windows)、Mozilla Firefox 1.0+、Mozilla 1.3+ 和 Netscape 7+。在未来的版本也将会加入对 Opera 的支援。

FckEditor更名CKEditor

著名的开源网页编辑软件FCKEditor在09年发布更新到3.0,并改名为CKEditor。原来叫FCK,是因为最初的开发者叫Frederico Calderia Knabben;现在叫CK,意指"Content and Knowledge"。新版的编辑器的更新包括:新的用户界面,一个支持Plug-in的Javascript API,并提供对视觉障碍者的使用支持。"

据官方的解释,CK是对FCK的代码的完全重写,而且此项工作从2007年就开始了,并在今年初发表了多个测试版。至此,为大家服务长达6年的FCKeditor将被CKeditor替代。

配置中文解释

AutoDetectLanguage=true/false 自动检测语言

BaseHref="" 相对链接的基地址

ContentLangDirection="ltr/rtl" 默认文字方向

ContextMenu=字符串数组,右键菜单的内容

CustomConfigurationsPath="" 自定义配置文件路径和名称

Debug=true/false 是否开启调试功能,这样,当调用FCKDebug.Output()时,会在调试窗中输出内容

DefaultLanguage="" 缺省语言

EditorAreaCss="" 编辑区的样式表文件

EnableSourceXHTML=true/false 为TRUE时,当由可视化界面切换到代码页时,把HTML处理成XHTML

EnableXHTML=true/false 是否允许使用XHTML取代HTML

FillEmptyBlocks=true/false 使用这个功能,可以将空的块级元素用空格来替代

FontColors="" 设置显示颜色拾取器时文字颜色列表

FontFormats="" 设置显示在文字格式列表中的命名

FontNames="" 字体列表中的字体名

FontSizes="" 字体大小中的字号列表

ForcePasteAsPlainText=true/false 强制粘贴为纯文本

ForceSimpleAmpersand=true/false 是否不把&符号转换为XML实体

FormatIndentator="" 当在源码格式下缩进代码使用的字符

FormatOutput=true/false 当输出内容时是否自动格式化代码

FormatSource=true/false 在切换到代码视图时是否自动格式化代码

FullPage=true/false 是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容

GeckoUseSPAN=true/false 是否允许SPAN标记代替B,I,U标记

IeSpellDownloadUrl=""下载拼写检查器的网址

ImageBrowser=true/false 是否允许浏览服务器功能

ImageBrowserURL="" 浏览服务器时运行的URL

ImageBrowserWindowHeight="" 图像浏览器窗口高度

ImageBrowserWindowWidth="" 图像浏览器窗口宽度

LinkBrowser=true/false 是否允许在插入链接时浏览服务器

LinkBrowserURL="" 插入链接时浏览服务器的URL

LinkBrowserWindowHeight=""链接目标浏览器窗口高度

LinkBrowserWindowWidth=""链接目标浏览器窗口宽度

Plugins=object 注册插件

PluginsPath="" 插件文件夹

ShowBorders=true/false 合并边框

SkinPath="" 皮肤文件夹位置

SmileyColumns=12 图符窗列数

SmileyImages=字符数组 图符窗中图片文件名数组

SmileyPath="" 图符文件夹路径

SmileyWindowHeight 图符窗口高度

SmileyWindowWidth 图符窗口宽度

SpellChecker="ieSpell/Spellerpages" 设置拼写检查器

StartupFocus=true/false 开启时FOCUS到编辑器

StylesXmlPath="" 设置定义CSS样式列表的XML文件的位置

TabSpaces=4 TAB键产生的空格字符数

ToolBarCanCollapse=true/false 是否允许展开/折叠工具栏

ToolbarSets=object 允许使用TOOLBAR集合

ToolbarStartExpanded=true/false 开启是TOOLBAR是否展开

UseBROnCarriageReturn=true/false 当回车时是产生BR标记还是P或者DIV标记

在PHP中调用<?php

function FCKeditor_IsCompatibleBrowser()

{

if ( isset( $_SERVER ) ) {

$sAgent = $_SERVER['HTTP_USER_AGENT'] ;

}

else {

global $HTTP_SERVER_VARS ;

if ( isset( $HTTP_SERVER_VARS ) ) {

$sAgent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'] ;

}

else {

global $HTTP_USER_AGENT ;

$sAgent = $HTTP_USER_AGENT ;

}

}

if ( strpos($sAgent, 'MSIE') !== false && strpos($sAgent, 'mac') === false && strpos($sAgent, 'Opera') === false )

{

$iVersion = (float)substr($sAgent, strpos($sAgent, 'MSIE') + 5, 3) ;

return ($iVersion >= 5.5) ;

}

else if ( strpos($sAgent, 'Gecko/') !== false )

{

$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;

return ($iVersion >= 20030210) ;

}

else if ( strpos($sAgent, 'Opera/') !== false )

{

$fVersion = (float)substr($sAgent, strpos($sAgent, 'Opera/') + 6, 4) ;

return ($fVersion >= 9.5) ;

}

else if ( preg_match( "|AppleWebKit/(d+)|i", $sAgent, $matches ) )

{

$iVersion = $matches[1] ;

return ( $matches[1] >= 522 ) ;

}

else

return false ;

}

class FCKeditor

{

public $InstanceName ;

public $BasePath ;

public $Width ;

public $Height ;

public $ToolbarSet ;

public $Value ;

public $Config ;

public function __construct( $instanceName )

{

$this->InstanceName = $instanceName ;

$this->BasePath = '../common/editor/' ;

$this->Width = '100%' ;

$this->Height = '400' ;

$this->ToolbarSet = 'Default' ;

$this->Value = '' ;

$this->Config = array() ;

}

public function Create()

{

echo $this->CreateHtml() ;

}

public function CreateHtml()

{

$HtmlValue = htmlspecialchars( $this->Value ) ;

$Html = '' ;

if ( $this->IsCompatible() )

{

if ( isset( $_GET['fcksource'] ) && $_GET['fcksource'] == "true" )

$File = 'fckeditor.original.html' ;

else

$File = 'fckeditor.html' ;

$Link = "{$this->BasePath}editor/{$File}?InstanceName={$this->InstanceName}" ;

if ( $this->ToolbarSet != '' )

$Link .= "&amp;Toolbar={$this->ToolbarSet}" ;

$Html .= "<input type="hidden" id="{$this->InstanceName}" name="{$this->InstanceName}" value="{$HtmlValue}" style="display:none" />" ;

$Html .= "<input type="hidden" id="{$this->InstanceName}___Config" value="" . $this->GetConfigFieldString() . "" style="display:none" />" ;

$Html .= "<iframe id="{$this->InstanceName}___Frame" src="{$Link}" width="{$this->Width}" height="{$this->Height}" frameborder="0" scrolling="no"></iframe>" ;

}

else

{

if ( strpos( $this->Width, '%' ) === false )

$WidthCSS = $this->Width . 'px' ;

else

$WidthCSS = $this->Width ;

if ( strpos( $this->Height, '%' ) === false )

$HeightCSS = $this->Height . 'px' ;

else

$HeightCSS = $this->Height ;

$Html .= "<textarea name="{$this->InstanceName}" rows="4" cols="40" style="width: {$WidthCSS}; height: {$HeightCSS}">{$HtmlValue}</textarea>" ;

}

return $Html ;

}

public function IsCompatible()

{

return FCKeditor_IsCompatibleBrowser() ;

}

public function GetConfigFieldString()

{

$sParams = '' ;

$bFirst = true ;

foreach ( $this->Config as $sKey => $sValue )

{

if ( $bFirst == false )

$sParams .= '&amp;' ;

else

$bFirst = false ;

if ( $sValue === true )

$sParams .= $this->EncodeConfig( $sKey ) . '=true' ;

else if ( $sValue === false )

$sParams .= $this->EncodeConfig( $sKey ) . '=false' ;

else

$sParams .= $this->EncodeConfig( $sKey ) . '=' . $this->EncodeConfig( $sValue ) ;

}

return $sParams ;

}

public function EncodeConfig( $valueToEncode )

{

$chars = array(

'&' => '%26',

'=' => '%3D',

'"' => '%22' ) ;

return strtr( $valueToEncode, $chars ) ;

}

}

$editor = new FCKeditor('editor') ;//接收时$_POST['........']中的内容

$editor->BasePath = "../common/editor/";//FCKEDITOR的路径

?>

在需要调用的地方<?php $editor->Create();?>

接受的文件用$_POST['editor']调用(editor)可在$editor = new FCKeditor('editor')设置

在Asp中调用首先在文件顶部包含主文件

<!--#include file="../fckeditor.asp"-->

在适当的地方插入文本区域内容:

<%

Dim oFCKeditor

Set oFCKeditor = New FCKeditor

oFCKeditor.ToolbarSet = "A" ’使用工具条

oFCKeditor.Width = "100%" ’宽度

oFCKeditor.Height = "400" ’高度

oFCKeditor.Value = ’源文件

oFCKeditor.Create "content" ’文本框名称

%>

在JSP中调用web.xml配置:

FckEditor for java 2.4版本

<servlet>

<servlet-name>Connector</servlet-name>

<servlet-class>

net.fckeditor.connector.ConnectorServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>Connector</servlet-name>

<url-pattern>

/fckeditor/editor/filemanager/connectors/*

</url-pattern>

</servlet-mapping>

在JSP中使用标签调用demo:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>

<html>

<head>

<title>FckEditor测试</title>

</head>

<body style="text-align: center;">

FckEditor测试

<hr>

<form action="ShowData.jsp" method="post">

<FCK:editor instanceName="test" height="400pt">

<jsp:attribute name="value"> 这里是http://baike.baidu.com/">数据测试

</jsp:attribute>

</FCK:editor>

<input type="submit" value="提交"/>

<input type="reset" value="重置"/>

</form>

</body>

</html>

自定义工具条/* Source="页面源码"

DocProps="页面属性"

Save="保存"

NewPage="新建"

Preview="预览"

Templates="模版"

Cut="剪切"

Copy="拷贝"

Paste="粘贴"

PasteText="粘贴为无格式的文本"

PasteWord="粘贴Word格式"

Print="打印"

SpellCheck="拼写检查,要装插件"

Undo="撤消"

Redo="重做"

Find="查找"

Replace="替换"

SelectAll="全选"

RemoveFormat="清除格式(清除现在文本的格式)"

Form="表单域"

Checkbox="复选"

Radio="单选"

TextField="单行文本"

Textarea="多行文本"

Select="列表"

Button="按钮"

ImageButton="图像区域"

HiddenField="隐藏域"

Bold="加粗"

Italic="倾斜"

Underline="下划线"

StrikeThrough="删除线"

Subscript="下标"

Superscript="上标"

OrderedList="删除/插入项目列表"

UnorderedList="删除/插入项目符号"

Outdent="减少缩进"

Indent="增加缩进"

JustifyLeft="左对齐"

JustifyCenter="居中对齐"

JustifyRight="右对齐"

JustifyFull="分散对齐"

Link="链接"

Unlink="删除链接"

Anchor="插入/删除锚点"

Image="上传图片"

Flash="上传动画"

Table="插入表格"

Rule="插入水平线"

Smiley="插入表情"

SpecialChar="插入特殊字符"

PageBreak="插入分页符"

Style="样式"

FontFormat="格式"

FontName="字体"

FontSize="大小"

TextColor="字体颜色"

BGColor="背景色"

FitWindow="全屏编辑"

About="关于我们"

*/

示例:

FCKConfig.ToolbarSets["Default"] = [//Default工具条的名称

[’Source’,’DocProps’,’-’,’Save’,’NewPage’,’Preview’,’-’,’Templates’],

[’Cut’,’Copy’,’Paste’,’PasteText’,’PasteWord’,’-’,’Print’,’SpellCheck’],

[’Undo’,’Redo’,’-’,’Find’,’Replace’,’-’,’SelectAll’,’RemoveFormat’],

[’Form’,’Checkbox’,’Radio’,’TextField’,’Textarea’,’Select’,’Button’,’ImageButton’,’HiddenField’],

’/’,

[’Bold’,’Italic’,’Underline’,’StrikeThrough’,’-’,’Subscript’,’Superscript’],

[’OrderedList’,’UnorderedList’,’-’,’Outdent’,’Indent’],

[’JustifyLeft’,’JustifyCenter’,’JustifyRight’,’JustifyFull’],

[’Link’,’Unlink’,’Anchor’],

[’Image’,’Flash’,’Table’,’Rule’,’Smiley’,’SpecialChar’,’PageBreak’],

’/’,

[’Style’,’FontFormat’,’FontName’,’FontSize’],

[’TextColor’,’BGColor’],

[’FitWindow’,’-’,’About’]

] ;

官方网站http://www.fckeditor.net

最新版本最新版本为2.6.4

fckeditor for java最新版本为2.4

相对于2.3有如下改变:

◆The integration pack is now managed by Maven 2 with complete documentation and reports.

◆Automatic creation of release distribution files (assemblies).

◆The library runs now from Servlet 2.4/JSP 2.0 and above.

◆A complete structure and package review has been done. Base package moved from com.fredck.FCKeditor to net.fckeditor.

◆The Server Side Integration requirements are completely fulfilled.

◆The SimpleUploaderServlet functionality has been merged into the ConnectorServlet.

◆The JSP tag library has been completely restructured.

◆A more complete and reliable browser detection code.

◆New configuration handling:

★No configuration settings in the web.xml anymore.

★The configuration properties can be set in a common properties file or programmatically.

★'Convention over conversion', just reset the properties which don't meet your requirements.

◆Introduced the state-of-the-art SLF4J logging facade.

◆Pluggable interfaces have been introduced to extend the ConnectorServlet. This system provides session or request-based functionality.

◆JUnit test coverage on viable classes.

◆Clean and safe parameter handling and abstraction.

◆A lot of code performance improvements and tweaks.

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有