javascritp对fckeditor编辑器赋值取值,dedecms幸免FCK乱格式化你的代码的修改章程

By admin in 编程 on 2019年7月30日

暗许的情状下,FCK开启了XHTML格式化的选项,由此,有些人用可视化编辑改动完整的HTML文件的时候,Head部份恐怕会被改得不像人样,化解办法如下:
打开 include/FCKeditor/fckconfig.js
找到
FCKConfig.EnableXHTML        = true;    // Unsupported: Do not change.
FCKConfig.EnableSourceXHTML    = true ;    // Unsupported: Do not change.

形式如:

javascript调用格局:
------------------------------------
<script type=”text/javascript”
src=”FCKeditor/fckeditor.js”></script>

改为
FCKConfig.EnableXHTML        = false ;    // Unsupported: Do not change.
FCKConfig.EnableSourceXHTML    = false ;    // Unsupported: Do not change.

varoEditor=FCKeditorAPI.GetInstance(‘content’);
varcontent=oEditor.GetXHTML(true);

<textarea name=”content” cols=”80″ rows=”4″>
</textarea>
<script type=”text/javascript”>
var FCKeditor = new FCKeditor(“content”);
FCKeditor.BasePath = “FCKeditor/”;
oFCKeditor.Height = 400;
oFCKeditor.ToolbarSet = “Default”;
oFCKeditor.ReplaceTextarea();
</script>
------------------------------------

然后删除你浏览器的临时文件,刷新当前页面,你会发觉,不再被FCK恶搞了 

*************************************************

假使想要使用从数据库读来的文本数据只怕是后台来自文件的txt/html文本数据。
只要在
------------------------------------
<textarea name=”content” cols=”80″ rows=”4″>
</textarea>
------------------------------------

行使Javascript取和设FCKeditor值也是非常轻巧的,如下:

中参预本身的显得内容的formbean对应字段就能够
------------------------------------
<textarea name=”content” cols=”80″ rows=”4″>
    <c:out value=”${contentData}” />
</textarea>
------------------------------------

// 获取编辑器中HTML内容
function getEditorHTMLContents(EditorName) {
    var oEditor = FCKeditorAPI.GetInstance(EditorName);
    return(oEditor.GetXHTML(true));
}

那般内容就能够被出示在FCKeditor编辑框中了,点击提交按键之后就能够在后台的相应java
action中获得content参数中的内容正是页面上FCKeditor中的内容数据了。能够在struts/jsf中利用。

// 获取编辑器粤语字内容
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) ;
}

是因为给FCKeditor减腹,所以常会报缺乏对象协助等错误,只要在FCKeditor/editor/lang中增进相应的js语言文件就可以。假如加
载页面退步(FCKeditor未定义)还应该有一个可能便是援用FCKeditor/fckeditor.js文件路线不对!

FCKeditorAPI是FCKeditor加载后注册的四个大局对象,利用它大家就能够完结对编辑器的种种操作。

至于FCKeditor消脂要点如下:
1.将FCKeditor目录下及子目录下全数以”_”下划线起先的文件夹删除
2.FCKeditor根目录下只保留fckconfig.js, fckeditor.js, fckstyles.xml,
fcktemplates.xml,其他全数删减
3.将editor/filemanager/upload目录下文件及文件夹清空
4.将/editor/filemanager/browser/default/connectors/下的具有文件删除
5.还足以将editor/skins目录下的皮层文件删除,只留下default一套皮肤(借使您无需换皮肤的话
6.还足以将editor/lang目录下文件删除,只保留en.js, fcklanguagemanager.js,
zh-cn.js, zh.js文件
7.假使你是使用javascript来调用加载FCKeditor,那么就没有必要在web.xml中配置fckeditor的tag文件。
8.还应该有二个标题刚开头应用FCKeditor的人常会遇见就怎么决定它的toolbar的分寸和要素排列,其实很轻松。
在fckconfig.js中用那样的标签[]来划分每行的因素的多少,那样就能够调整toolbar的尺寸和大小了,具体示例参看:fckconfig.js中的toolbarset[“Default”]

在当前页获得 FCK 编辑器实例:
var Editor = FCKeditorAPI.GetInstance(‘InstanceName’);

====================================

从 FCK 编辑器的弹出窗口中获得 FCK 编辑器实例:
var Editor = window.parent.InnerDialogLoaded().FCK;

用fckconfig.js中的一些精选来调节toolbarset中央调控件的功用,实现效益裁剪:
1):打消超链接中的浏览服务器和上传功效,方法如下:
------------------------------------
FCKConfig.LinkBrowser = true;
FCKConfig.LinkUpload = true;
改为:
FCKConfig.LinkBrowser = false;
FCKConfig.LinkUpload = false;
------------------------------------

从框架页面包车型的士子框架中获取别的子框架的 FCK 编辑器实例:
var Editor = window.FrameName.FCKeditorAPI.GetInstance(‘InstanceName’);

2):撤销图片链接中的浏览服务器和上传作用,方法如下:
------------------------------------
FCKConfig.ImageUpload = true;
FCKConfig.ImageBrowser = true;
改为:
FCKConfig.ImageUpload = false;
FCKConfig.ImageBrowser = false;
------------------------------------

从页面弹出窗口中赢得父窗口的 FCK 编辑器实例:
var Editor = opener.FCKeditorAPI.GetInstance(‘InstanceName’);

3):Dlg Button中打消高端成效,方法如下:
FCKConfig.LinkDlgHideAdvanced = false ;
FCKConfig.ImageDlgHideAdvanced = false ;
改为:
FCKConfig.ImageDlgHideAdvanced = true ;
FCKConfig.LinkDlgHideTarget = true ;
------------------------------------

赢得 FCK 编辑器的内容:
o艾德itor.GetXHTML(formatted); // formatted
为:true|false,表示是还是不是按HTML格式收取
也可用:
oEditor.GetXHTML();

下一篇介绍FCKeditor的上传和浏览服务器成效,以及如何在其间达成动态

安装 FCK 编辑器的内容:
oEditor.SetHTML(“content”, false); //
第三个参数为:true|false,是不是以所见即所得办法设置其故事情节。此方法常用于”设置起始值”或”表单复位”哦作。

超连接,转载到servlet经过filter未来去调用服务器的action

插入内容到 FCK 编辑器:
oEditor.InsertHtml(“html”); // “html”为HTML文本

怎么样贯彻对应用户浏览本身的图样的列表实现!

自小编商量 FCK 编辑器内容是不是发生变化:
oEditor.IsDirty();

====================================

在 FCK 编辑器之向外调拨运输用 FCK 编辑器工具条命令:
指令列表如下:
DocProps, Templates, Link, Unlink, Anchor, BulletedList, NumberedList,
About, Find, Replace, Image, Flash, SpecialChar, Smiley, Table,
TableProp, TableCellProp, UniversalKey, Style, FontName, FontSize,
FontFormat, Source, Preview, Save, NewPage, PageBreak, TextColor,
BGColor, PasteText, PasteWord, TableInsertRow, TableDeleteRows,
TableInsertColumn, TableDeleteColumns, TableInsertCell,
TableDeleteCells, TableMergeCells, TableSplitCell, TableDelete, Form,
Checkbox, Radio, TextField, Textarea, HiddenField, Button, Select,
ImageButton, SpellCheck, FitWindow, Undo, Redo

FCKeditor集成java
servlet能够兑现公文的上传和劳务器端列表读取功效FCKeditor本人提供了七个servlet来分别完毕上传文件作用,和读取服务器端文件列表效能,这两个servlet分别为:
com.fredck.FCKeditor.connector.ConnectorServlet(读取文件列表)
com.fredck.FCKeditor.uploader.SimpleUploaderServlet(达成文件上传)

利用方法如下:
oEditor.Commands.GetCommand(‘FitWindow’).Execute();

1.浏览服务器端文件列表
------------------------------------
web.xml文件中,比如:ConnectorServlet中的配置选项:
<init-param>
    <param-name>baseDir</param-name>
    <param-value>/UserFiles/</param-value>
</init-param>

= FCKConfig.BasePath + ‘plugins/’ 
// FCKConfig.Plugins.Add( ‘placeholder’, ‘en,it’ ) ;

野趣是在浏览服务器上的baseDir配置钦点里面包车型客车全数文件及其目录结构列表。
假使你的baseDir未有配备,Connector将会活动创造一个暗中同意的公文夹
UserFiles,对应的ConnectorServlet中init()方法中代码如下:
------------------------------------
baseDir = getInitParameter(“baseDir”);
if (baseDir == null)
baseDir = “/UserFiles/”;


掉//后,就也正是把placeholder这些插件功用丰裕了,fckeditor的插件文件都在/editor/plugins/文
件夹下分类按文件夹放置的,对于fckeditor2.0来讲,里面有四个文本夹,也便是有四个官方插件,placeholder那么些文件夹便是大家刚刚
加上去的,重要用来多参数或单参数自定义标签的十二分,那几个在构建编辑模板时十二分管用,要想看具体实例的话,大家能够去下载acms
那一个系统查阅学习,另三个文书夹tablecommands正是编辑器里的报表编辑用到的了。当然,如若你想制作本人其他用途的插件,那就假如依据fckeidtor插件的制作法则制作完放置在/editor/plugins/下就行,然后再在fckeidtor.js里再增多FCKConfig.Plugins.Add(‘Plugin Name’,’,lang,lang’);就足以了。

------------------------------------
还想说一下的是,FCKeditor的client调用server的servlet方法应用的是Ajax思想来促成。当你点击浏览服务器
(browser server)的时候就能触发二个异步的javascript +
xmlhttp的调用响应,后台的servlet会去完结你要呼吁的平地风波,然后数据以xml情势赶回给client来剖析。很明显,你要促成去数据库只怕其余的文件系统要求列表,你一旦修改
ConnectorServlet中五个民用方法:getFolders 和 getFiles

其次片段
,如何让编辑器一打开的时候,编辑工具条不出现,等点“张开工具栏”时才面世?Easy,FCKeditor自个儿提供了那几个功用啦,展开fckconfig.js,找到

让它去你钦命的地点得到文件列表就能够,那样您的公文能够放在别的你钦点目录下。多说一句,相当多人都想清楚个人blog系统中怎么落到实处上传文件之后对运用户
浏览自身的列表的,小编的做法很轻便,创立你用户名的公文夹,你上传只好上传到你的目录夹,浏览能够经进度序钦赐浏览对应用户下的文书夹就可以,这年你要
修改Connectorservlet中的路线就能够!
------------------------------------

FCKConfig.ToolbarStartExpanded = true ;
改成
FCKConfig.ToolbarStartExpanded = false ;
就足以啦!

2.超连接重定位难题
------------------------------------
FCKeditor能够插入超连接,达成对文本的预览功效,只要大家有个别退换大家得以使FCKeditor编辑器扶助对自由文件系统下的轻松文件的客户端
浏览和下载保存!FCKeditor本来提供的是争辩UQX56L超链接,只要大家修改ConnectorServlet中传送给客户端的地点的时候,把它改写
成绝对UWranglerL然后再经过大家团结的filter的servlet完结重定向去二个下载/浏览文件的struts的action方法就足以兑现在客户端对超
连接文件的下载和浏览!说一下具体做法吧:

其三部分,使用自个儿的神色Logo,一样展开fckcofnig.js到最终面部分那一段

1):修改ConnectorServlet传递给客户端javascript的不二秘技,代码如下:
String currentUrl = “http://” + request.getserver +request.getServerPort

FCKConfig.SmileyPath = FCKConfig.BasePath + ‘images/smiley/msn/’ ;
FCKConfig.SmileyImages =
[‘regular_smile.gif’,’sad_smile.gif’,’wink_smile.gif’] ;
FCKConfig.SmileyColumns = 8 ;
FCKConfig.SmileyWindowWidth    = 320 ;
FCKConfig.SmileyWindowHeight = 240 ;

  • request.getContextPath + resourcePath;

地点这段一度是本人修改过的了,为了作者发布此文的版面不会被撑得太开,笔者把FCKConfig.SmileyImages那一行改得独有多个表情图了。

如上代码请在ConnectorServlet的doGet()里面拼装!在调用CreateCommonXml()私有方法的时候参数字传送入:
myEl.setAttribute(“path”,currentPath);
myEl.setAttribute(“url”,currentUrl);

先是行,当然是神色Logo路线的设置,第二行是唇齿相依表情Logo文件名的二个List,第三行是指弹出的神情增加窗口最每行的神情数,上面八个参数是弹出的模态窗口的宽和高喽。

提醒一下resourcePath为在web.xml配置文件中ConnectorServlet中的二个初步化参数配置,等一下利用filter实现对超连接的重定位就领取USportageL中的这几个布局参数来决断,配置如下
<init-param>
    <param-name>resourcePath</param-name>
    <param-value>/fileSystem/</param-value>
</init-param>

第四有的,文件上传管理某个

2):创设你的filter
servlet,达成对UKugaL的收获,对符合要求的U巴博斯 SLK级L实行重一向到您的对应action中去就能够
3):完毕您的对应action来兑现公文的上传和下载效率就可以!
4):扩张功能-完成对U陆风X8L的加密,对连年的UQashqaiL中增加一串字符,最终几位作为算法校验,对不符合要求的U卡宴L连接,filter将会拒绝重一直到钦赐action。其它利用和睦写的恢弘类仍是能够实现对超连接的文件类型进行限定,举个例子您不得不超连接JPG|GIF|DOC|TXT|HTML等三种后缀名
的文件,对任何文件固然你钦点超连接也让您浏览和下载,那一个都得以在web.xml中通过修改对应servlet的安插文件的开端化参数达成。

此部分只怕是豪门最棒关注的,上一篇小说一言以蔽之了怎样修改来上传文件以及选择fckeidtor2.0才提供的迅猛上传功用。再咱们继续再深等级次序的上课上传作用

3.页面javascript修改
------------------------------------
浏览服务器的成效对应的html/javascript相关的文书为:browser.html和frmresourcelist.html对应你想传递
的音信你能够append在文书名的字符串前面,在GetFileRowHtml()的javascript函数中贯彻对文件名的截取,那样client
只会展现文件名,而你可以获取文件的数据库独一标志,任何你想要的新闻你都得以透过更动ConnectorServlet中的私有方法
getFiles()来兑现,只要修改页面frmresurcelist.html中的GetFileRowHtml()中传播变量fileName即可。你还足以在点击选粤语件的时候兑现贰个你和煦的Ajax调用,一切取决你的品种要求!

FCKConfig.LinkBrowser = true ;
FCKConfig.ImageBrowser = true ;
FCKConfig.FlashBrowser = true
;在fckconfig.js找到那三句,那三句不是过渡的啊,只是自己把他们集中到此刻来了,设置为true的意思正是同意利用fckeditor来浏览
服务器端的文本图像以及flash等,这几个效应是您插入图片时弹出的窗口上这一个“浏览服务器”按键能够显示出来,借使您的编辑器只用来本身用或是只在后台
管理用,这么些作用确实很好用,因为他让您很直观地对服务器的文件举行上传操作。不过倘使您的种类要面向前台用户大概像blog那样的系统要用的话,这么些安
全祸患可就大了哦。于是大家把其一律设置为false;如下

4.笔者不是八个javascript高手,其实只要小编对javascript精晓多局地可能对客户端的代码修改现在做出更眩的意义。能够更加好的成就对FCKeditor裁剪。
-------------------------------------

FCKConfig.LinkBrowser = false ;
FCKConfig.ImageBrowser = false ;
FCKConfig.FlashBrowser = false ;

5.注意点
-------------------------------------
无论是怎么修改外人的事物,请一定重视开源精神!
重重人安插好了FCKeditor的上传作用未来常会遭受xmlhttp request 404
error,前边是一串路线,其实正是你的servlet-mapping中的路线不对,你一旦把xmlhttp
request errot 404
前边跟的门路,copy到您的web.xml中对应铁锈棕文字的职位,如下:
<servlet-mapping>
    <servlet-name>Connector</servlet-name>
    <url-pattern>/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
</servlet-mapping>

那样一来,我们就只有飞速上传可用了哟,好!接下去就来修改,一样以asp为表率进行,进入/editor/filemanager/upload/asp/展开config.asp,修改
ConfigUserFilesPath =
“/UserFiles/”那几个装置是上传文件的总目录,我这里就不动了,你想改本人改了

别忘了SimpleUploader的servlet-mapping也要做同样的修改!

好,再展开此目录下的upload.asp文件,找到下边这一段

还会有一个谬误就是http
500谬误,这几个或者是你的U奥德赛L央浼不对,应该和FCKeditor不妨的!

Dim resourceType
If ( Request.QueryString(“Type”) <> “” ) Then
resourceType = Request.QueryString(“Type”)
Else
resourceType = “File”
End If
下一场再在其背后增加

======================================

ConfigUserFilesPath = ConfigUserFilesPath & resourceType &”/”&
Year(Date()) &”/”& Month(Date()) &”/”
那样的话,上传的公文就进去“/userfiles/文件类型(如image或file或flash)/年/月/”那样的文件夹下了,这一个设置对单用户来用已经够用了,要是你想给多用户系统用,那就像此来改

fckconfig.js总布署文件,可用记录本张开,修改后将文件存为utf-8
编码格式。找到:
--------------------------------------
FCKConfig.TabSpaces = 0;
改为:
FCKConfig.TabSpaces = 1;

ConfigUserFilesPath = ConfigUserFilesPath & Session(“username”) &
resourceType &”/”& Year(Date()) &”/”& Month(Date()) &”/”
那样上传的文件就走入“/userfiles/用户目录/文件类型/年/月/”下了,当然假设你不想那样布置也足以修改成其他,举个例子说用户目录再深一层等,这里的Session(“username”)请依据自个儿的急需张开更换或换掉。

即在编辑器域内能够应用Tab键。

上传的目录设置完了,然而上传程序还不会友善创办这么些文件夹,假若不设有的话,上传不会成功的,那么大家就得根据上边的上传路线的渴求开始展览递回来生成目录了。

若是您的编辑器还用在网址前台的话,比方说用于留言本或是日记回复时,那就不得不惦念安全了,
在前台千万不要使用Default的toolbar,要么自定义一下效应,要么就用系统现已定义好的Basic,
也正是主旨的toolbar,找到:
--------------------------------------
FCKConfig.ToolbarSets[“Basic”] =
[‘Bold’,’Italic’,’-‘,’OrderedList’,’UnorderedList’,’-‘,/*’Link’,*/’Unlink’,’-‘,’Style’,’FontSize’,’TextColor’,’BGColor’,’-‘,’Smiley’,’SpecialChar’,’Replace’,’Preview’];

找到这一段

这是改过的Basic,把图像功用去掉,把增多链接效用去掉,因为图像和链接和flash和图像开关增添效果都能让前台页直接待上访谈和上传文件,
fckeditor还支持编辑域内的鼠标右键功用。

Dim sServerDir
sServerDir = Server.MapPath( ConfigUserFilesPath )
If ( Right( sServerDir, 1 ) <> “\” ) Then
    sServerDir = sServerDir & “\”
End If

FCKConfig.ContextMenu =
[‘Generic’,/*’Link’,*/’Anchor’,/*’Image’,*/’Flash’,’Select’,’Textarea’,’Checkbox’,’Radio’,’TextField’,’HiddenField’,
/*’ImageButton’,*/’Button’,’BulletedList’,’NumberedList’,’TableCell’,’Table’,’Form’];

把它上边包车型客车这两行

那也是改过的把鼠标右键的”链接、图像,FLASH,图像按键”功效都去掉。

Dim oFSO
Set oFSO = Server.CreateObject( “Scripting.FileSystemObject” )
用上面这一段代码来替换

找到:
FCKConfig.FontNames = ‘Arial;Comic Sans MS;Courier New;Tahoma;Times New
Roman;Verdana’;

dim arrPath,strTmpPath,intRow
strTmpPath = “”
arrPath = Split(sServerDir, “\”)
Dim oFSO
Set oFSO = Server.CreateObject( “Scripting.FileSystemObject” )
for intRow = 0 to Ubound(arrPath)
    strTmpPath = strTmpPath & arrPath(intRow) & “\”
    if oFSO.folderExists(strTmpPath)=false then
     oFSO.CreateFolder(strTmpPath)
    end if
next
用这段代码就足以生成你想要的公文夹了,在上传的时候自动生成。

丰裕三种大家常用的书体


了,上传文件的改换到前天得以有的时候甘休了,然则,对于华语用户还留存这么个问题,正是fckeditor的公文上传私下认可是不改名的,同期还不
扶助中文文件名,那样一来是上传的文书会成为“.jpg”那样的智尽能索读的文本,再正是会有重名文件,当然重名那点倒没什么,因为fckeditor会自动
改名,会在文件名后加(1)那样来进行标志。可是,大家一般的习于旧贯是让程序自动生成不重复的文本名

FCKConfig.FontNames = ‘宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans
MS;Courier New;Tahoma;Times New Roman;Verdana’;

在刚刚那一段代码的上边紧接着正是
‘ Get the uploaded file name.
sFileName = oUploader.File( “NewFile” ).Name
看精晓了,那么些正是文本名啦,大家来把它改掉,当然得有个变化文书名的函数才行,改成上面这样

拉长文书 /TestFCKeditor/test.jsp:
----------------------------------------
<%@ page language=”java” import=”com.fredck.FCKeditor.*” %>
<%@ taglib uri=”/TestFCKeditor” prefix=”FCK” %>
<script type=”text/javascript”
src=”/TestFCKeditor/FCKeditor/fckeditor.js”></script>

‘//取得多个不另行的序号
Public Function GetNewID()
dim ranNum
dim dtNow
randomize
dtNow=Now()
ranNum=int(90000*rnd)+10000
GetNewID=year(dtNow) & right(“0” & month(dtNow),2) & right(“0” &
day(dtNow),2) & right(“0” & hour(dtNow),2) & right(“0” &
minute(dtNow),2) & right(“0” & second(dtNow),2) & ranNum
End Function

<%
二种格局调用FCKeditor
1.FCKeditor自定义标签 (必须加头文件 <%@ taglib uri=”/TestFCKeditor”
prefix=”FCK” %> )
2.script脚本语言调用 (必须引用 脚本文件 <script
type=”text/javascript”
src=”/TestFCKeditor/FCKeditor/fckeditor.js”></script> )
3.FCKeditor API 调用 (必须加头文件 <%@ page language=”java”
import=”com.fredck.FCKeditor.*” %>
%>

‘ Get the uploaded file name.
sFileName = GetNewID() &”.”& split(oUploader.File( “NewFile”
).Name,”.”)(1)

<%
<form action=”show.jsp” method=”post” target=”_blank”>
<FCK:editor id=”content” basePath=”/TestFCKeditor/FCKeditor/”
width=”700″ height=”500″
skinPath=”/TestFCKeditor/FCKeditor/editor/skins/silver/” toolbarSet =
“Default”>;
        内容
</FCK:editor>
<input type=”submit” value=”Submit”>
</form>

那样一来,上传的文本就自行改名生成如二〇〇五0802122536365.jpg如此的公文名了,是由年月日时分秒以及几位随机数组成的文件名了

<form action=”show.jsp” method=”post” target=”_blank”>
<table border=”0″ width=”700″>
      <tr>
        <td>
        <textarea id=”content” name=”content” style=”WIDTH: 100%;
HEIGHT: 400px”>input</textarea>
        <script type=”text/javascript”>
              var FCKeditor = new FCKeditor(‘content’)
              oFCKeditor.BasePath = “/TestFCKeditor/FCKeditor/” ;
              oFCKeditor.Height = 400;
              oFCKeditor.ToolbarSet = “Default” ;
              oFCKeditor.ReplaceTextarea();
        </script>
        <input type=”submit” value=”Submit”>
        </td>
      </tr>
    </table>-
</form>

<%
<form action=”show.jsp” method=”post” target=”_blank”>
FCKeditor oFCKeditor ;
oFCKeditor = new FCKeditor( request, “content” ) ;
oFCKeditor.setBasePath( “/TestFCKeditor/FCKeditor/” ) ;
oFCKeditor.setValue( “input” );
out.println( oFCKeditor.create() ) ;
<br>
<input type=”submit” value=”Submit”>
</form>
%>

添Gavin书/TestFCKeditor/show.jsp
<%
String content = request.getParameter(“content”);
out.print(content);
%>

====================================

1、适时展开编辑器
------------------------------------
众多时候,大家在开辟页面包车型客车时候没有必要直接张开编辑器,而在接纳的时候才张开,那样一来有很好的用户体验,另一方面能够清除FCK在加载时对页面张开速度的熏陶,点击”Open
艾德itor”按键后才展开编辑器分界面。

落到实处原理:
应用JAVASCLANDIPT版的FCK,在页面加载时(未展开FCK),创立叁个隐形的TextArea域,这些TextArea
的name和ID要和开创的FCK实例名称同样,然后点击”Open
Editor”按键时,通过调用一段函数,使用FCK的ReplaceTextarea()方法来创制FCKeditor,代码如下:
------------------------------------
<script type=”text/javascript”>
<!–
function showFCK(){
  var FCKeditor = 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要在同多个页面里用多少个编辑器的话,得三个个创制,今后有了这几个外联功效,就不要那么麻烦了,只须求把工具条放在五个老少咸宜的地点,前边就足以随便的创始编辑域了。

要兑现这种效能吗,须要先在页面中定义七个工具条的容器:<div
id=”xToolbar”></div>,然后再依靠那个容器的id属性举办设置。

JAVASCOdysseyIPT落成代码:
--------------------------------------
<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 FCKeditor = 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”>
<!–
    FCKeditor = 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>
-------------------------------------
此部分的详实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,我意识嫌恶了,就没怎么格局能更加好的垄断(monopoly)这种配置么?事实上,是有
的。

在fckconfig.js里面,有有关是不是张开上传和浏览服务器的设置,在创立FCKeditor时,通进度序来判别是不是创设有上传浏览作用的编辑器。首先,作者先在fckconfig.js里面把全数的上传和浏览设置全设为false,接着自身使用的代码如下:

JAVASCRIPT版本:
-------------------------------------
<script type=”text/javascript”>
    var FCKeditor = 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();
</script>
-------------------------------------

在开关旁边Gavin字
-------------------------------------
打开 editor/js/ 两个js文件
fckeditorcode_gecko.js
fckeditorcode_ie.js

第二个是协理非ie浏览器的
第二个文件是援救ie浏览器的

招来 FCKToolbarButton,能够观察好多近似那样的言语:
case ‘Save’:B = new FCKToolbarButton(‘Save’, FCKLang.Save, null, null,
true, null, 3); break;

‘Save’是开关波兰语名字
FCKToolbarButton 的七个参数分别是:
开关命令名称,按键标签文字,开关工具提醒,开关样式,按键是还是不是在源代码格局可知,开关下拉菜单其上校第4项参数设置为
FCK_TOOLBARITEM_ICONTEXT 就能够使开关旁边现身文字,注意未有引号。
例如:
case ‘Preview’:B = new FCKToolbarButton(‘Preview’, FCKLang.Preview,
null, FCK_TOOLBARITEM_ICONTEXT, true, null, 5);
诸如此比大家就能够将
我们经常用的3种格局源代码、预览、全屏编辑开关都拉长文字了。

分解fck样式的办事原理
-------------------------------------
fck的体裁设置涉及到了三个文本,三个是您定义好的样式表文件.css,另一个是告诉fck样式表怎么样采纳的xml文件,三个文件确一不可。
css文件的任务是不做要求的,可是须求你在使用的编辑器的页面上插入样式表文件的链接。那样才干显得出来样式。
fckstyles.xml
在与editor目录同级的目录下。该文件定义了那多少个体制能够动用在那贰个标签里面。

这正是fck自带的体制xml定义:
<?xml version=”1.0″ encoding=”utf-8″ ?>
<Styles>
  <Style name=”Image on Left” element=”img”>
    <Attribute name=”style” value=”padding: 5px; margin-right: 5px”
/>
    <Attribute name=”border” value=”2″ />
    <Attribute name=”align” value=”left” />
  </Style>
  <Style name=”Image on Right” element=”img”>
    <Attribute name=”style” value=”padding: 5px; margin-left: 5px”
/>
    <Attribute name=”border” value=”2″ />
    <Attribute name=”align” value=”right” />
  </Style>
  <Style name=”Custom Bold” element=”span”>
    <Attribute name=”style” value=”font-weight: bold;” />
  </Style>
  <Style name=”Custom Italic” element=”em” />
  <Style name=”Title” element=”span”>
    <Attribute name=”class” value=”Title” />
  </Style>
  <Style name=”Code” element=”span”>
    <Attribute name=”class” value=”Code” />
  </Style>
  <Style name=”Title H3″ element=”h3″ />
  <Style name=”Custom Ruler” element=”hr”>
    <Attribute name=”size” value=”1″ />
    <Attribute name=”color” value=”#ff0000″ />
  </Style>
</Styles>

每贰个<style>现在会生成三个体制的菜单项。name名称正是呈今后菜单里的文字;element定义了该样式能够应用在这种html
标签上,<Attribute>的 name
钦赐了将会修改标签的哪些属性来行使样式,value则是修改成的值。
看这个:
<Style name=”Title” element=”span”>
  <Attribute name=”class” value=”Title” />
</Style>

借使您在fck选定了文字 “杰出论坛 > 前台制作与剧本专栏 > FCKeditor
实战技能 – 1 > 编辑帖子” 应用该样式 则原本文字就能够成为<span
class=”Title”>优秀论坛 > 前台制作与剧本专栏 > FCKeditor
实战手艺 – 1 > 编辑帖子</span>

小心:假如编辑器呈整页编辑状态,那么整页里面也急需插入样式表链接本事显得出来样式。

============================================

FCKeditor Javascript API(翻译整理)
原来的文章地址:
--------------------------------------------
FCK 编辑器加载后,将会登记八个大局的 FCKeditorAPI 对象。

FCKeditorAPI
对象在页面加载时期是无效的,直到页面加载成功。倘诺急需交互式地精晓 FCK
编辑器已经加载成功,可应用”FCKeditor_OnComplete”函数。
<script type=”text/javascript”>
function FCKeditor_OnComplete(editorInstance) {
  FCKeditorAPI.GetInstance(‘FCKeditor1’).Commands.GetCommand(‘FitWindow’).Execute();
}
</script>

在当前页获得 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 编辑器的剧情:
oEditor.GetXHTML(formatted); // formatted
为:true|false,表示是还是不是按HTML格式抽取
也可用:
oEditor.GetXHTML();

安装 FCK 编辑器的内容:
oEditor.SetHTML(“content”, false); //
第一个参数为:true|false,是还是不是以所见即所得办法设置其剧情。此方法常用于”设置初步值”或”表单重新恢复设置”哦作。

插入内容到 FCK 编辑器:
oEditor.InsertHtml(“html”); // “html”为HTML文本

反省 FCK 编辑器内容是还是不是发生变化:
oEditor.IsDirty();

在 FCK 编辑器之向外调拨运输用 FCK 编辑器工具条命令:
命令列表如下:
--------------------------------------------
DocProps, Templates, Link, Unlink, Anchor, BulletedList, NumberedList,
About, Find, Replace, Image, Flash, SpecialChar, Smiley, Table,
TableProp, TableCellProp, UniversalKey, Style, FontName, FontSize,
FontFormat, Source, Preview, Save, NewPage, PageBreak, TextColor,
BGColor, PasteText, PasteWord, TableInsertRow, TableDeleteRows,
TableInsertColumn, TableDeleteColumns, TableInsertCell,
TableDeleteCells, TableMergeCells, TableSplitCell, TableDelete, Form,
Checkbox, Radio, TextField, Textarea, HiddenField, Button, Select,
ImageButton, SpellCheck, FitWindow, Undo, Redo
--------------------------------------------
选用格局如下:
--------------------------------------------
oEditor.Commands.GetCommand(‘FitWindow’).Execute();

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有