`
liss
  • 浏览: 854913 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FckEditor配置手册中文教程详细说明(一)

阅读更多

性能
首先,FCKEDITOR的性能是非常好的,用户只需很少的时间就可以载入FCKEDITOR所需文件.对于其他在线编辑器来说,这几乎是个很难解决的难题,因为在开启编辑器时需要装载太多的文件.比如CUTEEDITOR,虽然功能比FCKEDITOR还要强大,可是,它本身也够庞大了,至于FREETEXTBOX等,其易用性与FCKEDITOR相比,尚有差距,可以说,FCKEDITOR是一个别具匠心的在线编辑器,它里面融入了作者高深的面向对象的JAVASCRIPT功力,集易用性与强大的功能与一体.

.与编辑器相关的所有图像,脚本以及调用页
.语言文件
.编辑器的皮肤文件
.工具样的贴图等
这些将导致在服务器和客户端间产生相当的流量.如果有许多文件被调用,那么即便每个文件很小.也会让用户等得不耐烦.
装载顺序
从2.0版开始,编辑器按以下步骤装载资源:
.基本页(就是编辑器所在页)以及装入编辑器的JS脚本
.用来建立编辑器的脚本
.编辑器的语言和皮肤.
.建立编辑器.
.载入预置的编辑文档内容.
.从现在开始,用户可以阅读和编辑文档了,不过,拖拽支持以及工具栏都是不可用的
.载入编辑器引擎脚本
.建立工具栏,并且可用
.从现在开始,编辑器的所有功能都已经完整
.载入工具栏图标

脚本压缩
在打包任何新版本时,编辑器的JS脚本将会进行预处理.预处理步骤如下:
.移除所有代码注释
.移除所有无用的空白字符.
.将脚本合并成几个文件
使用上面的方法,我们可以将脚本文件的大小压缩到原来的50%.
压缩后,原始的代码仍然存在于一个名为_Source的文件夹中

如何打包?
编辑器已经自带了打包程序,它位于FCKEDITOR的根文件夹中_PACKAGER文件夹中,名为Fckeditor.Packager.exe,将其复制到FCKEDITOR根文件夹中并运行,即可自动将JS脚本打包并压缩
需要注意的是该程序是一个.NET程序,必须安装.NET FRAMEWORK才能使用

想要获取支持?
如果你捐赠15000欧元,你就可以获得1年的免费技术支持(比较贵的说,相当于人民币15万,不过西欧的费用相当惊人)

如何安装?
1.下载最新版的FCKEDITOR
2.解压缩到你的站点根文件夹中名为FCKEDITOR的文件夹中(名称必须为FCKEDITOR,因为配置文件中已经使用此名称来标示出FCKEDITOR的位置)
3.现在,编辑器就可以使用了,如果想要查看演示,可以按下面方法访问:
http://<your-site>/FCKeditor/_samples/default.html
注意:你可以将FCKEDITOR放置到任何文件夹,默认情况下,将其放入到FCKEDITOR文件夹是最为简单的方法.如果你放入的文件夹使用别的名称,请修改配置文件夹中编辑器BasePath参数,如下所示:
oFckeditor.BasePath="/Components/fckeditor/";
另外,FCKEDITOR文件夹中所有以下划线开头的文件夹及文件,都是可选的,可以安全的从你的发布中删除.它们并不是编辑器运行时必需的

如何将FCKEDITOR整合进我的页面?
由于目前的版本提供的FCKEDITOR仅提供了JAVASCRIPT式的整合,因此,这里仅讲述如何应用JAVASCRIPT来整合FCKEDITOR到站点中,当然,其他各种语言的整合,你可以参考_samples文件夹中的例子来完成
1,假如编辑器已经安装在你的站点的/FCKEDITOR/文件夹下.那么,第一步我们需要做的就是在页面的HEAD段中放入SCRIPT标记以引入JAVASCRIPT整合模块.例如:
<script type="text/javascript" src="/fckeditor/fckeditor.js"></script>
其中路径是可更改的
2,现在,FCKEDITOR类已经可以使用了.有两个方法在页面中建立一个FCKEDITOR编辑器:
方法1:内联方式(建议使用):在页面的FORM标记内需要插入编辑器的地方置入以下代码:
script type="text/javascript">
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
oFCKeditor.Create() ;
</script>
方法2:TEXTAREA标记替换法(不建议使用):在页面的ONLOAD事件中,添加以下代码以替换一个已经存在的TEXTAREA标记
<html>
<head>
<script type="text/javascript">
window.onload = function()
{
var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;
oFCKeditor.ReplaceTextarea() ;
}
</script>
</head>
<body>
<textarea id="MyTextarea" name="MyTextarea">This is <b>the</b> initial value.</textarea>
</body>
</html>
3.现在,编辑器可以使用了

FCKEDITOR类参考:
下面是用来在页面中建立编辑器的FCKEDITOR类的说明

构造器:
FCKeditor( instanceName[, width, height, toolbarSet, value] )
instanceName:编辑器的唯一名称(相当于ID)
WIDTH:宽度
HEIGHT:高度
toolbarSet:工具条集合的名称
value:编辑器初始化内容

属性:
instanceName:编辑器实例名
width:宽度,默认值为100%
height:高度,默认值是200
ToolbarSet:工具集名称,参考FCKCONFIG.JS,默认值是Default
value:初始化编辑器的HTML代码,默认值为空
BasePath:编辑器的基路径,默认为/Fckeditor/文件夹,注意,尽量不要使用相对路径.最好能用相对于站点根路径的表示方法,要以/结尾
CheckBrowser:是否在显示编辑器前检查浏览器兼容性,默认为true
DisplayErrors:是否显示提示错误,默为true;

集合:
Config[Key]=value;
这个集合用于更改配置中某一项的值,如
oFckeditor.Config["DefaultLanguage"]="pt-br";

方法:
Create()
建立并输出编辑器

RepaceTextArea(TextAreaName)
用编辑器来替换对应的文本框

如何配置FCKEDITOR?
FCKEDITOR提供了一套用于定制其外观,特性及行为的设置集.主配置文件名为Fckconfig.js
你既可以编辑主配置文件,也可以自己定义单独的配置文件.配置文件使用JAVASCRIPT语法.

修改后,在建立编辑器时,可以使用以下语法:
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
oFCKeditor.Config['CustomConfigurationsPath'] = '/myconfig.js' ;
oFCKeditor.Create() ;

提醒:当你修改配置后,请清空浏览器缓存以查看效果

配置选项:
AutoDetectLanguage=true/false 自动检测语言
BaseHref="" _fcksavedurl="""" 相对链接的基地址
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标记

如何自定义样式列表呢?
FCKEDITOR的样式工具栏中提供了预定义的样式,样式是通过XML文件定义的,默认的XML样式文件存在于FCkEditor根文件夹下的FckStyls.xml文件中
这个XML文件的结构分析如下:
<?xml version="1.0" encoding="utf-8" ?>
<Styles >
<Style name="My Image" element="img">
<Attribute name="style" value="padding: 5px" />
<Attribute name="border" value="2" />
</Style >
<Style name="Italic" element="em" />
<Style name="Title" element="span">
<Attribute name="class" value="Title" />
</Style >
<Style name="Title H3" element="h3" />
</Styles>

每一个STYLE标记定义一种样式,NAME是显示在下拉列表中的样式名,ELEMENT属性指定此样式所适用的对象,因为FCKEDITOR中的样式是上下文敏感的,也就是说,选择不同的对象,仅会显示针对这类对象定义的样式

拼写检查
FCKEDITOR带了两种拼写检查工具,一种是ieSpell,默认情况下使用这种,使用这种方式的拼写检查,要求客户下载并安装iespell这个小软件,另外,也提供SpellPager的方式来进行拼写检查,不过,由于SPELLPAGER是由PHP编写的服务器端脚本,因此,要求你的WEB服务器必须支持PHP脚本语言方可
更改拼写检查器的方式请参见有关配置文件的详细说明

压缩脚本
为了提供脚本载入的效率,FCKEDITOR采用以下方法对脚本尽量压缩以减少脚本尺寸:
1,移除掉脚本中的注释
2.移除掉脚本中所有无意义的空白
另外,FCKEDITOR还提供了一个专门用于压缩脚本的工具以便 你在发布时能减小文件尺寸,
你可以将_Packager文件夹中的Fckeditor.Packager.exe复制到FCKEDITOR根文件夹来运行并压缩脚本

本地化FCKEDITOR
如果FCKEDITOR没有提供您所需要的语言(实际上全有了),你也可以自行制作新的语言
,你只需要复制出EN.JS,然后在其基础上进行翻译.另外,语言名称与对应的脚本文件名必须遵循RFC 3066标准,但是,需要小写,例如:Portuguess Language对应的脚本文件名必须为pt.js
如果需要针对某个国家的某种语系,则可以在语系缩写后加上横线及国家缩写即可

在使用时,系统会自动侦测客户端语系及国别而运用适当的界面语言.

当建立一种新的语言后,你必须在"Edit/lang/fcklanguagemanager.js"中为其建立一个条目,如下所示:
FCKLanguageManager.AvailableLanguages =
{

en : 'English',
pt : 'Portuguese'
}

需要提醒的是,文件必须保存为UTF-8格式

如何与服务器端脚本进行交互?
请查看例子以得到相关内容

另外,在ASP.NET中以以下步骤使用
1.把FCKEDITOR添中到工具箱
2.托拽FCKEDITOR控件到页面
3.为其指定名称
4.FCKEDITOR类的所有属性不光可以在代码中使用,而且可以作为FCKEDITOR控件的属性直接使用,例如,要改变皮肤,可以在UI页面中指定SkinPath="/fckeditor/editor/skins/office2003"即可,其实FCKEDITOR的ASP.NET版本可以做得更好,你可以找到FCKEDITOR ASP.NET 2.1的源文件,然后修改该控件的设计,为其暴露更多有用的属性,重新编译即可
5,POSTBACK后的数据,使用FCKEDITOR控件的value属性获得
6.由于默认状态下,ASP.NET不允许提交含有HTML及JAVASCRIPT的内容,因此,你必须将使用FCKEDITOR的页面的ValidateRequest设为false.(<%@page validteRequest="false" %>即可)

 

    附:
一、如何设置上传文件语言

把FCKeditor根目录下面的fckconfig.js文件里

var _FileBrowserLanguage     = 'asp' ;     // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage     = 'asp' ;     // asp | aspx | cfm | lasso | php

这两行中改成您所需要调用的编辑器语言,如用asp.net则改为aspx;

二、解决中文的问题:
在web.config中加入:
<globalization requestEncoding="GB2312" responseEncoding="GB2312"/>
这样设置后可以显示中文的文件,但URL地址也是中文的;
如果服务器对中文地址的解析不好,可能导致图片无法浏览;
所以修改:editor\filemanager\browser\default\frmresourceslist.html
中的OpenFile函数,把
window.top.opener.SetUrl( fileUrl ) ;
修改为:
window.top.opener.SetUrl( escape(fileUrl) ) ;

三.设置上传的目录:
1:在web.config中设置:
<appSettings>
     <add key="FCKeditor:UserFilesPath" value="/fck/UpLoad/" />
</appSettings>

2:在Session中设置:
在editor\filemanager\browser\default\connectors\aspx\connector.aspx中加入以下代码:
<script runat="server" language="C#">
protected override void OnInit(EventArgs e)
{
   Session["FCKeditor:UserFilesPath"] = "/fck/UpLoad1/";
}
</script>

如何在asp.net中动态设置上传图片的路径?

1.在javascript中修改FCKConfig.ImageBrowserURL的值,修改方式如下:
FCKConfig.ImageBrowserURL += "?Path=要上传的文件路径";
如:要把文件上传到站点根目录的UploadFile文件夹中,则设置为:
FCKConfig.ImageBrowserURL += "?Path=/UploadFile";
2.在"editor\filemanager\browser\default\connectors\aspx\connector.aspx"文件最后中增加以下程序:
<script runat="server" language="C#">
    protected override void OnInit(EventArgs e)
    {
if( Request.QueryString["Path"]==null ){
   Session["FCKeditor:UserFilesPath"] = "/UpLoadFiles/"; //设置默认值
}else{
   Session["FCKeditor:UserFilesPath"] = Request.QueryString["Path"];
}
    }
</script>


多环境下的配置和使用技巧

在fckeditor中添加右键菜单
现在网上介绍FCKEditor如何配置,如何精简的例子非常之多,如有需要可以google一下,此处不必赘述。现在介绍一下,如何自定义此编辑器,暂包括如何添加工具条上的item,产生响应,添加右键菜单。IT SEEMS VERY EASY!

  闲言少叙,书归正传。
  一、自定义右键菜单:
  1、 首先,在editor/lang/zh-cn.js里添加你所要添加的工具条item的名字,此文件定义了一个FCKLang变量,仿照里边的格式写哦,如:First: "第一",注意,如果是不在倒数第二行(倒数第一行是“}”),后边的这个逗号是一定要有的,不然网页中不会出现编辑器,笔者曾经犯过如此低级的错误,待醒悟后,找一僻静之所大嘴巴子招呼;呵呵,我们是中国人,自然在冒号后对应汉语,这也是将来在网页中显示的内容。
  2、 之后,在editor/_source/internals/fckcommands.js 里新建一个command:case 'First': oCommand = new FCKFirstCommand ( 'First', FCKLang.First); break注意那个红色字体的FCKFirstCommand了么?这个是一个自定义的command,稍候将讨论它。
  3、 然后,在editor/_source/internals/fckcontextmenu.js 添加一个context menu 。 在case 'Generic' : 下面添加如下: oGroup.Add( new FCKContextMenuItem( this, 'First', FCKLang.First, true ) ) ; 其中第四个布尔类型的参数,如果指定为true,说明菜单有图标,反之则无。在此,我指明了我所自定义的菜单是有图标的,那么我就应该把图标放在editor\skins\xxx\toolbar目录下,其中xxx就是你在你的配置文件里选择的编辑器的皮肤,但是我们的图标命名可是有学问的,必须是如FCKContextMenuItem构造函数(且这么叫它)第二个字符串参数的小写字母形式,如,这里我的图标被命名为first.gif了。 Ok,如此右键菜单就被添加上去了,运行你的网页,看看FCKEditor是否奏效?如果不奏效的话就要重新参考此文喽^_^。
  4、然后,还有最关键的一步:用editor下的fckeditor.original.html网页的内容代替fckeditor.html的内容,同时不要忘记备份fckeditor.html文件!
  5、现在开始讨论步骤2中的FCKFirstCommand。菜单添加上其了,你总得让丫拥有什么功能吧?好,在editor/_source/commandclasses/fck_othercommands.js里新建这个类:

 

 

四大 FCKeditor 实战应用技巧

一般建立好类后,还要建立两个静态函数:xxx .prototype.Execute,xxx .prototype.GetState。前者是事件处理函数,即点击了该右键菜单所要执行的功能全部写在这个函数,后者返回菜单的状态(可用?不可用?)。在此为了演示,我们实现一个最简单的功能: FCKPageCommand.prototype.Execute = function(){ window.alert("It works!");}够简单吧,只是不疼不痒的弹出一个提示框。 当然,这里我们也可以不用自定义的FCKFirstCommand,而直接用FCKEditor定义好的command,比如FCKDialogCommand,它也定义在fck_othercommands.js里,当然如果这样的话,弹出的会是一个dialog。 再次运行网页,右击,点击你的自定义菜单,是否弹出提示框呢?

FCKeditor至今已经到了2.3.1版本了,对于国内的WEB开发者来说,也基本上都已经“闻风知多少”了,很多人将其融放到自己的项目中,更有很多大型的网站从中吃到了甜头。今天开始,我将一点点的介绍自己在使用FCKeditor过程中总结的一些技巧,当然这些其实是FCK本来就有的,只是很多人用FCK的时候没发现而已 :P

  1、适时打开编辑器

  很多时候,我们在打开页面的时候不需要直接打开编辑器,而在用到的时候才打开,这样一来有很好的用户体验,另一方面可以消除FCK在加载时对页面打开速度的影响,如图所示

  点击“Open Editor"按钮后才打开编辑器界面

 

  实现原理:使用JAVASCRIPT版的FCK,在页面加载时(未打开FCK),创建一个隐藏的TextArea域,这个TextArea的name和ID要和创建的FCK实例名称一致,然后点击"Open Editor"按钮时,通过调用一段函数,使用FCK的ReplaceTextarea()方法来创建FCKeditor,代码如下

 

<script type="text/javascript">
      <!--
      function showFCK(){
       var oFCKeditor = new FCKeditor( 'fbContent' ) ;
       oFCKeditor.BasePath = '/FCKeditor/' ;
       oFCKeditor.ToolbarSet = 'Basic' ;
       oFCKeditor.Width = '100%' ;
       oFCKeditor.Height = '200' ;
       oFCKeditor.ReplaceTextarea() ;
      }
      //-->
      </script>
      <textarea name="fbContent" id="fbContent"><textarea>

 

2、使用FCKeditor 的 API

  FCKeditor编辑器,提供了非常丰富的API,用于给End User实现很多想要定制的功能,比如最基本的数据验证,如何在提交的时候用JS判断当前编辑器区域内是否有内容,FCK的API提供了GetLength()方法;

  再比如如何通过脚本向FCK里插入内容,使用InsertHTML()等;

  还有,在用户定制功能时,中间步骤可能要执行FCK的一些内嵌操作,那就用ExecuteCommand()方法。

  详细的API列表,请查看FCKeditor的Wiki。而常用的API,请查看FCK压缩包里的_samples/html/sample08.html。此处就不贴代码了。

3、外联编辑条(多个编辑域共用一个编辑条)

  这个功能是2.3版本才开始提供的,以前版本的FCKeditor要在同一个页面里用多个编辑器的话,得一个个创建,现在有了这个外联功能,就不用那么麻烦了,只需要把工具条放在一个适当的位置,后面就可以无限制的创建编辑域了,如图:

  要实现这种功能呢,需要先在页面中定义一个工具条的容器:<divid="xToolbar"></div>,然后再根据这个容器的id属性进行设置。

  ASP实现代码:  

<div id="fckToolBar"></div>
<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor
with oFCKeditor
.BasePath = fckPath
.Config("ToolbarLocation") = "Out:fckToolBar"

.ToolbarSet = "Basic"
.Width = "100%"
.Height = "200"

.Value = ""
.Create "jcontent"

.Height = "150"
.Value = ""
.Create "jreach"
end with
%>

 

  JAVASCRIPT实现代码

 

  此部分的详细DEMO请参照:
_samples/html/sample11.html
_samples/html/sample11_frame.html

4、文件管理功能、文件上传的权限问题

  一直以后FCKeditor的文件管理部分的安全是个值得注意,但很多人没注意到的地方,虽然FCKeditor在各个Release版本中一直存在的一个功能就是对上传文件类型进行过滤,但是她没考虑过另一个问题:到底允许谁能上传?到底谁能浏览服务器文件?

  之前刚开始用FCKeditor时,我就出现过这个问题,还好NetRube(FCKeditor中文化以及FCKeditor ASP版上传程序的作者)及时提醒了我,做法是去修改FCK上传程序,在里面进行权限判断,并且再在fckconfig.js里把相应的一些功能去掉。但随之FCK版本的不断升级,每升一次都要去改一次配置程序fckconfig.js,我发觉厌烦了,就没什么办法能更好的控制这种配置么?事实上,是有的。

  在fckconfig.js里面,有关于是否打开上传和浏览服务器的设置,在创建FCKeditor时,通过程序来判断是否创建有上传浏览功能的编辑器。首先,我先在fckconfig.js里面把所有的上传和浏览设置全设为false,接着我使用的代码如下:

  ASP版本:

<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor
with oFCKeditor
.BasePath = fckPath
.Config("ToolbarLocation") = "Out:fckToolBar"
if request.cookies(site_sn)("issuper")="yes" then
.Config("LinkBrowser") = "true"
.Config("ImageBrowser") = "true"
.Config("FlashBrowser") = "true"
.Config("LinkUpload") = "true"
.Config("ImageUpload") = "true"
.Config("FlashUpload") = "true"
end if
.ToolbarSet = "Basic"
.Width = "100%"
.Height = "200"
.Value = ""
.Create "jcontent"
%>

 

  JAVASCRIPT版本:

 

 

 

FCKPageCommand.prototype.Execute = function()
{
               window.alert("It works!");
}

 

 

       var oFCKeditor = new FCKeditor( 'fbContent' ) ;
       <%if power = powercode then%>
       oFCKeditor.Config['LinkBrowser'] = true ;
       oFCKeditor.Config['ImageBrowser'] = true ;
       oFCKeditor.Config['FlashBrowser'] = true ;
       oFCKeditor.Config['LinkUpload'] = true ;
       oFCKeditor.Config['ImageUpload'] = true ;
       oFCKeditor.Config['FlashUpload'] = true ;
       <%end if%>
       oFCKeditor.ToolbarSet = 'Basic' ;
       oFCKeditor.Width = '100%' ;
       oFCKeditor.Height = '200' ;
       oFCKeditor.Value = '' ;
       oFCKeditor.Create() ;

 

<div id="xToolbar"></div>
FCKeditor 1:
<script type="text/javascript">
<!--
// Automatically calculates the editor base path based on the _samples directory.
// This is usefull only for these samples. A real application should use something like this:
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;

var oFCKeditor = new FCKeditor( 'FCKeditor_1' ) ;
oFCKeditor.BasePath = sBasePath ;
oFCKeditor.Height = 100 ;
oFCKeditor.Config[ 'ToolbarLocation' ] = 'Out:parent(xToolbar)' ;
oFCKeditor.Value = 'This is some <strong>sample text</strong>. You are using FCKeditor.' ;
oFCKeditor.Create() ;
//-->
</script>
<br />
FCKeditor 2:
<script type="text/javascript">
<!--
oFCKeditor = new FCKeditor( 'FCKeditor_2' ) ;
oFCKeditor.BasePath = sBasePath ;
oFCKeditor.Height = 100 ;
oFCKeditor.Config[ 'ToolbarLocation' ] = 'Out:parent(xToolbar)' ;
oFCKeditor.Value = 'This is some <strong>sample text</strong>. You are using FCKeditor.' ;
oFCKeditor.Create() ;
//-->
</script>
分享到:
评论
1 楼 huangqiuxin 2011-07-28  
开上

相关推荐

    FckEditor配置手册中文教程详细说明.doc

    FCKEditor是一款优秀的在线文本编辑器,以其出色的性能和易用性受到用户的欢迎。这款编辑器的特点在于它的快速加载能力和高效的文件管理。与其他编辑器相比,如CUTEEDITOR,尽管功能更为强大,但FCKEditor的体积更小...

    FckEditor 配置手册中文教程详细说明

    综上所述,FCKEditor的中文配置手册向用户展示了如何高效地下载、安装、配置和整合FCKEditor到Web项目中。通过这些步骤,用户可以快速地在自己的网站上集成这个性能优秀、操作简便的在线文本编辑器。

    COMSOL焊接热源模型详解:双椭球、高斯旋转体与柱状体热源的应用与优化

    内容概要:本文详细介绍了COMSOL软件中三种常用的焊接热源模型:双椭球热源、高斯旋转体热源和柱状体热源。双椭球热源适用于电弧焊,通过将热源分为前后两个半椭球,能够更好地模拟熔池的温度梯度变化;高斯旋转体热源适合激光焊,采用旋转对称的高斯函数描述热流密度分布;柱状体热源则用于电阻焊等均匀加热场景,尽管物理上不够精确,但计算速度快。文中还提供了具体的MATLAB代码实现,并分享了参数调试的经验和注意事项。 适合人群:从事焊接仿真研究的技术人员、研究生以及相关领域的研究人员。 使用场景及目标:帮助用户选择合适的热源模型进行焊接仿真,确保仿真结果的准确性。同时,提供实用的参数调试技巧,避免常见错误,提高仿真的效率和可靠性。 其他说明:强调了不同热源模型的特点及其适用场景,提醒用户根据实际情况灵活调整参数,并结合实验数据进行验证。

    带你去认识RFID技术

    带你去认识RFID技术

    开关磁阻电机(SRM)的Matlab与Maxwell仿真建模及控制策略研究

    内容概要:本文深入探讨了开关磁阻电机(SRM)的仿真方法和技术细节,涵盖了从Matlab仿真模型搭建到Maxwell有限元仿真的全过程。首先介绍了SRM的基本参数设置及其在Simulink中的电磁关系建模,接着详细讲解了两种常见的控制策略:电流斩波控制(CCC)和角度位置控制(APC)。随后讨论了Maxwell中SRM几何结构的精确建模、材料属性设置及网格划分技巧,并阐述了转矩分配函数(TSF)和直接转矩控制(DTC)的具体实现。最后分享了一些实用的仿真优化建议,如响应面法和遗传算法的应用。 适合人群:从事电机控制系统设计的研发工程师、高校师生及相关领域的研究人员。 使用场景及目标:适用于希望深入了解SRM工作原理并掌握其仿真技能的专业人士;旨在帮助读者构建高效的SRM仿真平台,提高电机性能,降低开发成本。 其他说明:文中提供了大量MATLAB代码片段和Maxwell建模指导,便于读者理解和实践。此外,还提到了许多实际操作中的注意事项和常见错误,有助于避免不必要的弯路。

    Windows 10 Enterprise G 麦克风摄像头开关工具

    一键打开或关闭Windows 10 Enterprise G 麦克风或摄像头

    LightCNN-29Layer预训练模型

    https://github.com/AlfredXiangWu/LightCNN 预训练模型

    电-气-热综合能源系统节点能价计算方法及其碳排放成本优化

    内容概要:本文深入探讨了电-气-热综合能源系统的节点能价计算方法,重点介绍了如何将碳排放成本纳入系统优化中。作者通过复现论文中的模型,展示了电、气、热潮流的耦合实现,并提出了以综合能源系统总运行成本和碳排放成本最小为目标函数的优化调度模型。文中详细解释了模型的关键组成部分,如目标函数的设计、多能流优化以及节点能价的计算方法。通过多个实例验证,证明了该模型的有效性和通用性。 适合人群:对综合能源系统建模感兴趣的科研人员和技术开发者,尤其是希望深入了解电-气-热耦合系统及碳排放成本优化的人群。 使用场景及目标:适用于需要进行综合能源系统优化的研究和工程项目,旨在降低碳排放并优化能源系统的总成本。具体应用场景包括但不限于电力系统、天然气系统和热力系统的联合优化调度。 其他说明:文章不仅提供了详细的代码实现和模型解析,还讨论了模型的实际应用效果和潜在改进方向。通过具体的案例分析,展示了模型在不同规模和类型的能源系统中的表现,为后续研究提供了宝贵的参考。

    前端分析-2023071100789s+12

    前端分析-2023071100789s+12

    基于MATLAB的CNN-LSTM结合SE注意力机制的时序数据分析与分类

    内容概要:本文详细介绍了如何在MATLAB环境中构建一个结合卷积神经网络(CNN)、长短时记忆网络(LSTM)以及SE注意力机制的混合模型用于时序数据分类。首先进行数据预处理,确保输入数据符合模型要求。接着,通过CNN提取空间特征,再由SE模块评估特征的重要性,最后交给LSTM处理时间序列信息。文中提供了完整的代码实现步骤,并针对可能出现的问题给出了优化建议。实验结果显示,在EEG信号分类和其他工业应用场景中,该模型相较于传统方法能够提高分类精度。 适合人群:有一定机器学习基础并对深度学习感兴趣的科研工作者和技术开发者。 使用场景及目标:适用于需要处理带有时间和空间相关性的多维时序数据的任务,如医疗健康监测、金融趋势预测、机械故障预警等领域。目的是为了获得更高的分类准确性,同时增强模型的可解释性和鲁棒性。 其他说明:作者强调了在实际应用过程中应注意的一些细节,例如正确设置输入数据的维度、选择合适的超参数(如学习率、批大小)、以及考虑是否添加正则化项来避免过拟合等问题。此外,还提到了一些实用的小贴士,像使用动态学习率调度器加快收敛速度等。

    基于Matlab/Simulink的风电调频与风储联合频域模型仿真及应用

    内容概要:本文介绍了利用Matlab/Simulink进行风电调频与风储联合仿真的方法。针对传统时域仿真耗时的问题,提出了一种基于频域模型的方法,实现了快速高效的仿真。文中详细描述了虚拟惯性控制和储能下垂控制的具体实现方式及其对系统频率稳定性的影响。通过频域模型,将复杂的微分方程转化为简单的矩阵运算,显著提高了仿真速度。同时,加入了SOC(荷电状态)管理和滑动平均滤波,确保了储能系统的安全可靠运行。实验结果显示,在相同的硬件条件下,频域模型的仿真速度比传统时域模型快了近十倍,且频率偏差明显减小。 适合人群:从事电力系统仿真、风电调频研究的专业人士和技术爱好者。 使用场景及目标:适用于需要快速验证风电调频控制策略的研究人员和工程师。主要目标是在保证仿真精度的同时大幅提高仿真速度,为风电并网提供技术支持。 其他说明:本文提供的模型专注于调频性能分析,不涉及风机内部动态细节。对于更详细的风机模型,作者提供了进一步的参考资料。

    【人工智能领域】小模型性能直追千亿大模型:AI行业轻量化时代的发展趋势与应用前景分析

    内容概要:本文探讨了小模型在AI行业中逐渐展现出与大模型相媲美性能的现象,分析了大模型和小模型各自的优劣势。大模型虽然在准确性、通用性上有优势,但也面临高成本、低效性、隐私保护等问题;小模型则以高效性、低成本、强隐私保护和高可解释性等优点崭露头角。文中列举了微软Phi-3系列、Google Gemma、Anthropic Claude 3 Haiku和Meta Llama 3等小模型的成功案例,展示了小模型在不同领域的应用潜力。随着技术进步、应用需求增长及政策推动,AI行业正逐步向轻量化转型,但仍需面对性能瓶颈、数据获取等挑战。文章最后展望了小模型与大模型结合的发展趋势,并强调了AI技术发展中伦理和法律问题的重要性。; 适合人群:对AI技术发展趋势感兴趣的从业者、研究人员、企业决策者以及相关领域的学生。; 使用场景及目标:①了解AI行业中大模型与小模型的特点和发展现状;②掌握小模型在各个领域的具体应用场景及其优势;③思考AI技术轻量化转型对企业和社会的影响。; 其他说明:文章指出AI行业的轻量化时代已经悄然来临,小模型凭借其独特的优势将在更多领域发挥作用。同时提醒读者关注AI技术发展中的伦理和法律问题,鼓励大家积极参与到这一变革中来。

    西门子S7-1200 PLC物料分拣系统仿真实现与WinCC动画集成

    内容概要:本文详细介绍了基于西门子S7-1200 PLC的物料分拣系统的设计与仿真。系统采用三个光电传感器进行物料检测和颜色识别,两个推料气缸用于分拣,以及一个传送带电机驱动物料传输。核心逻辑由梯形图和SCL语言编写,涵盖初始化、传感器处理、气缸动作控制和WinCC动画同步等功能。文中强调了急停连锁、颜色传感器信号保持时间和气缸动作延迟等关键细节,并提供了详细的代码片段和调试建议。此外,还介绍了WinCC动画的实现方法,确保仿真效果逼真。 适合人群:初学者和有一定经验的PLC程序员,尤其是希望深入了解PLC控制系统设计和仿真的技术人员。 使用场景及目标:①帮助读者掌握PLC编程的基本技能,特别是S7-1200系列PLC的应用;②提供完整的物料分拣系统仿真案例,便于理解和实践;③通过WinCC动画展示,增强对工业自动化系统的直观认识。 其他说明:本文提供的程序包可在GitHub上获取,建议使用TIA Portal V17打开。仿真过程中应注意变量绑定和时间参数的调整,以确保系统稳定性和动画同步。

    基于邻域粗糙集、引力搜索算法和支持向量机的DGA变压器故障诊断技术研究

    内容概要:本文详细介绍了基于邻域粗糙集(NRS)、引力搜索算法(GSA)和支持向量机(SVM)的变压器故障诊断方法。首先,邻域粗糙集用于特征约简,减少数据维度并提高后续算法的效率。其次,引力搜索算法用于优化SVM的参数,找到最优的惩罚因子C和核函数参数gamma。最后,使用优化后的SVM对变压器故障进行分类诊断。这种方法显著提升了变压器故障诊断的准确性和效率,为电力系统的稳定运行提供了有力保障。 适合人群:从事电力系统维护、数据分析以及机器学习领域的研究人员和技术人员。 使用场景及目标:适用于需要高精度变压器故障诊断的电力系统,旨在提高故障检测的准确性,减少误报率,确保电力系统的安全稳定运行。 其他说明:文中提供了具体的Python代码示例,帮助读者更好地理解和应用这些技术。同时强调了特征工程和参数优化的重要性,指出不同的数据分布可能需要调整相关参数以获得最佳效果。

    MATLAB 2019b中双馈风机MPPT、变速恒频及稳压控制的仿真与优化

    内容概要:本文详细介绍了使用MATLAB 2019b进行双馈风机的最大功率追踪(MPPT)、变速恒频以及直流母线稳压控制仿真的方法和技巧。首先,文章展示了双馈电机通过背靠背变流器连接电网的整体模型架构,分别阐述了转子侧和网侧变流器的功能及其核心控制算法。对于MPPT部分,采用了经典爬山法,并讨论了功率变化方向判断周期和步长参数的影响。接着,深入探讨了变速恒频控制中转子侧变流器的作用,强调了PI参数的选择和解耦补偿的重要性。最后,针对直流母线稳压控制,提出了梯形积分法和前馈补偿的应用,确保电压波动最小化。此外,文中还提供了多个调试技巧和注意事项,如仿真步长、PWM生成、锁相环参数调整等。 适合人群:从事风电领域研究的技术人员、研究生及以上学历的学生,尤其是那些希望深入了解双馈风机控制原理和MATLAB仿真应用的人群。 使用场景及目标:适用于风电系统的开发与优化项目,旨在提高双馈风机的效率和稳定性。具体目标包括实现高效的MPPT算法、稳定的变速恒频控制以及可靠的直流母线稳压机制。 其他说明:文中不仅包含了详细的数学公式和代码片段,还有丰富的实践经验分享,帮助读者更好地理解和解决实际工程中的问题。同时,作者提醒了一些常见的仿真错误,如变流器开关频率设置不当、PWM模块配置失误等,有助于初学者避免类似的问题。

    基于Matlab/Simulink的300kW直驱永磁同步电机风电并网仿真模型构建与优化

    内容概要:本文详细介绍了如何使用Matlab/Simulink构建300kW直驱永磁同步电机的风电并网仿真模型。首先,文章讲解了永磁同步电机的关键参数配置,如定子电阻、d轴和q轴电感、磁链强度以及极对数等。接着,深入探讨了逆变器控制部分的设计,包括锁相环(PLL)的参数设置、双闭环控制结构中的电流环PI参数调整方法。此外,还讨论了并网瞬间的波形处理技巧,如软启动逻辑和直流母线电压的平稳爬升。文中提供了多个调试秘诀,如直流母线电容的选择、坐标变换模块的正确使用等。最后,强调了仿真过程中需要重点关注的三个信号:发电机转矩脉动、网侧电流谐波含量和直流母线电压纹波。 适合人群:具有一定电力电子和控制系统基础知识的研究人员、工程师和技术爱好者。 使用场景及目标:适用于希望深入了解风电并网系统的原理和实现方式的技术人员。通过构建和优化仿真模型,可以更好地掌握永磁同步电机的工作机制及其在风电领域的应用。 阅读建议:读者可以在阅读过程中跟随作者逐步搭建仿真模型,同时关注各个模块的具体参数设置和调试技巧,以便更好地理解和掌握相关知识点。

    药店管理系统(Java + SpringBoot + Mybatis/Mybatis-plus + Mysql)

    项目功能说明 促销管理:零售出库、零售退货 采购管理:采购订单、采购入库、采购退货 销售管理:销售订单、物流信息、销售退货 仓库管理:其它入库、其它出库、调拨出库、组装单、拆卸单 成本核算:收入单、支出单、收款单、付款单、转账单、收预付款 药品溯源:库存状况、账户统计、进货统计、销售统计、入库明细、出库明细、入库汇总、出库汇总、客户对账、供应商对账、库存预警 药品管理:药品类别、药品信息、计量单位、序列号 基本资料:供应商信息、客户信息、会员信息、仓库信息、收支项目、结算账户、经手人管理 系统管理:角色管理、功能管理、机构管理、用户管理、日志管理、系统配置、商品属性、插件管理

    基于梯度下降的改进自适应短时傅里叶变换方法及其在Jupyter Notebook中的应用

    内容概要:本文介绍了基于梯度下降的改进自适应短时傅里叶变换(STFT)方法,并展示了其在Jupyter Notebook中的具体实现。传统的STFT由于固定窗口长度,在处理非平稳信号时存在局限性。改进的方法通过梯度下降策略自适应调整窗口参数,从而提高时频分辨率。文中详细解释了算法的工作原理,包括信号生成、窗函数设计、损失函数选择等方面,并给出了具体的Python代码示例。此外,文章还讨论了该方法在多个领域的广泛应用,如金融时间序列、地震信号、机械振动信号、声发射信号、电压电流信号、语音信号、声信号和生理信号等。 适合人群:从事信号处理、数据分析及相关领域研究的专业人士,尤其是对时频分析感兴趣的科研人员和技术开发者。 使用场景及目标:适用于需要处理非平稳信号的研究和应用场景,旨在提高信号处理的精度和效率。具体目标包括但不限于:改善金融市场的预测能力、提升地震监测系统的准确性、增强机械设备故障诊断的效果、优化语音识别和合成的质量等。 其他说明:该方法不仅限于特定类型的信号,而是可以通过调整参数灵活应用于不同的信号类型。文中提供的代码可以在Jupyter Notebook环境中直接运行,便于实验和验证。

    VMD+NGO最优变分模态优化算法在信号处理与数据预测中的应用及实现

    内容概要:本文详细介绍了VMD(变分模态分解)与NGO(北方苍鹰优化算法)结合形成的最优变分模态优化算法。该算法通过嵌套多种损失函数,尤其是包络熵,实现了对复合信号在频域上的最优拆分。文中不仅解释了算法的工作原理,还提供了具体的Python代码示例,展示了如何通过调整参数来优化信号拆分过程。此外,文章强调了该算法在特征工程领域的巨大价值,特别是在提高数据预测准确性方面的作用。通过实例演示,证明了VMD+NGO算法在处理非平稳信号、音频处理、图像处理等领域中的优越性能。 适合人群:从事信号处理、数据分析、机器学习等相关领域的研究人员和技术人员,尤其是那些希望深入了解并应用先进信号处理技术的人。 使用场景及目标:适用于需要从复杂复合信号中提取有用信息的各种应用场景,如工业设备状态监测、故障诊断、时间序列预测等。主要目标是提高信号处理的精度和效率,进而改善基于这些信号的预测模型的表现。 其他说明:文章提供了详细的代码片段和理论背景,有助于读者更好地理解和实施该算法。同时提醒读者注意某些实现细节,如参数的选择和优化策略的应用。

    基于51单片机protues仿真的鱼缸环境监测系统(仿真图、源代码,AD原理图、流程图)

    基于51单片机protues仿真的鱼缸环境监测系统(仿真图、源代码,AD原理图、流程图) 1、测量鱼缸水温、PH值、有害物质等,并显示 2、可以通过串口遥控控制制氧机和加热器的启停【没有自动控制功能】; 3、仿真图、源代码,AD原理图、流程图

Global site tag (gtag.js) - Google Analytics