`

FckEidter javascript API

阅读更多

利用Javascript取和设FCKeditor值也是非常容易的,如下:

 

// 获取编辑器中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) ;
}

 

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 编辑器的内容:
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();

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


去掉//后,就相当于把placeholder这个插件功能加上了,fckeditor的插件文件都在/editor/plugins/文件夹下分类按文件夹放置的,对于fckeditor2.0来说,里面有两个文件夹,也就是有两个官方插件,placeholder这个文件夹就是我们刚才加上去的,主要用于多参数或单参数自定义标签的匹配,这个在制作编辑模板时非常管用,要想看具体实例的话,大家可以去下载acms 这个系统查看学习,另一个文件夹tablecommands就是编辑器里的表格编辑用到的了。当然,如果你想制作自己其它用途的插件,那就只要按照 fckeidtor插件的制作规则制作完放置在/editor/plugins/下就行,然后再在fckeidtor.js里再添加 FCKConfig.Plugins.Add('Plugin Name',',lang,lang');就可以了。

第二部分 ,如何让编辑器一打开的时候,编辑工具条不出现,等点“展开工具栏”时才出现?Easy,FCKeditor本身提供了这个功能啦,打开fckconfig.js,找到

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

 

第三部分,使用自己的表情图标,同样打开fckcofnig.js到最底部那一段
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 ;

 

上面这段已经是我修改过的了,为了我发表此文的版面不会被撑得太开,我把FCKConfig.SmileyImages那一行改得只有三个表情图了。

第一行,当然是表情图标路径的设置,第二行是相关表情图标文件名的一个List,第三行是指弹出的表情添加窗口最每行的表情数,下面两个参数是弹出的模态窗口的宽和高喽。

第四部分,文件上传管理部分

此部分可能是大家最为关心的,上一篇文章简单的讲了如何修改来上传文件以及使用fckeidtor2.0才提供的快速上传功能。再我们继续再深层次的讲解上传功能

FCKConfig.LinkBrowser = true ;
FCKConfig.ImageBrowser = true ;
FCKConfig.FlashBrowser = true ;在fckconfig.js找到这三句,这三句不是连着的哦,只是我把他们集中到这儿来了,设置为true的意思就是允许使用fckeditor来浏览服务器端的文件图像以及flash等,这个功能是你插入图片时弹出的窗口上那个“浏览服务器”按钮可以体现出来,如果你的编辑器只用来自己用或是只在后台管理用,这个功能无疑很好用,因为他让你很直观地对服务器的文件进行上传操作。但是如果你的系统要面向前台用户或是像blog这样的系统要用的话,这个安全隐患可就大了哦。于是我们把其一律设置为false;如下

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

这样一来,我们就只有快速上传可用了啊,好!接下来就来修改,同样以asp为范例进行,进入/editor/filemanager/upload/asp/打开config.asp,修改
ConfigUserFilesPath = "/UserFiles/"这个设置是上传文件的总目录,我这里就不动了,你想改自己改了

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


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)/年/月/”这样的文件夹下了,这个设置对单用户来用已经足够了,如果你想给多用户系统用,那就这样来改


ConfigUserFilesPath = ConfigUserFilesPath & Session("username") & resourceType &"/"& Year(Date()) &"/"& Month(Date()) &"/"
这样上传的文件就进入“/userfiles/用户目录/文件类型/年/月/”下了,当然如果你不想这么安排也可以修改成别的,比如说用户目录再深一层等,这里的Session("username")请根据自己的需要进行修改或换掉。

上传的目录设置完了,但是上传程序还不会自己创建这些文件夹,如果不存在的话,上传不会成功的,那么我们就得根据上面的上传路径的要求进行递归来生成目录了。

找到这一段


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

把它下面的这两行


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


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)这样来进行标识。但是,我们通常的习惯是让程序自动生成不重复的文件名

在刚才那一段代码的下面紧接着就是
' Get the uploaded file name.
sFileName = oUploader.File( "NewFile" ).Name
看清楚了,这个就是文件名啦,我们来把它改掉,当然得有个生成文件名的函数才行,改成下面这样

'//取得一个不重复的序号
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

' Get the uploaded file name.
sFileName = GetNewID() &"."& split(oUploader.File( "NewFile" ).Name,".")(1)

这样一来,上传的文件就自动改名生成如20050802122536365.jpg这样的文件名了,是由年月日时分秒以及三位随机数组成的文件名了

 

 

分享到:
评论

相关推荐

    JavascriptAPI.rar_javascriptAPI手册_javascriptapi

    这份"JavascriptAPI.rar_javascriptAPI手册_javascriptapi"压缩包包含了帮助开发者深入理解和应用JavaScript API的重要资源,特别是"Javascript权威指南.chm"这本书籍的电子版,它是JavaScript学习者不可或缺的参考...

    刘光《ArcGIS Server JavaScript API开发GeoWeb 2.0应用》书的源代码

    《ArcGIS Server JavaScript API开发GeoWeb 2.0应用》一书由刘光和唐大仕共同撰写,主要探讨了如何使用ArcGIS Server的JavaScript API来构建GeoWeb 2.0应用程序。GeoWeb 2.0是地理信息系统(GIS)在互联网上的一个...

    javascript API 中文离线手册(chm版)

    javascript API 中文离线手册(chm版) 包含小知识点,一些jquery的使用

    ArcGis-for-javaScript最全中文API.pdf

    ArcGIS JavaScript API 介绍与示例 ArcGIS JavaScript API 是 ESRI 提供的一种基于 JavaScript 的开发工具,允许开发者创建交互式的 Web 地图应用程序。本文将对 ArcGIS JavaScript API 进行详细的介绍,并提供多个...

    geogebra javascript API参考潘立强翻译部分(1)1

    GeoGebra JavaScript API 参考 GeoGebra 是一个交互式数学软件,提供了强大的 JavaScript API,以便开发者可以在 GeoGebra applet 中进行交互操作。GeoGebra JavaScript API 参考文档提供了详细的 API 说明和示例...

    Arcgis Javascript API 动态标绘。

    《ArcGIS JavaScript API 动态标绘:燕尾箭头、军事标绘与WebGIS应用》 ArcGIS JavaScript API 是Esri公司推出的一款强大的Web GIS开发工具,它允许开发者利用JavaScript语言在网页上构建交互式的地图应用。动态...

    javascript API

    JavaScript API,全称为Application Programming Interface,是一系列预先定义的函数和对象,允许JavaScript开发者与操作系统、浏览器、服务器或任何其他支持JavaScript的环境进行交互。它为开发者提供了丰富的工具...

    javascript API英文

    JavaScript API(Application Programming Interface)是JavaScript编程中使用的一组预定义的函数、对象和方法,它们允许开发者与操作系统、浏览器或其他Web服务进行交互。API在Web开发中扮演着至关重要的角色,因为...

    ArcGIS API for JavaScript (JavaScript API) 3.1

    ArcGIS API for JavaScript (JavaScript API))是基于浏览器的API,用于开发高性能、易于使用的地图应用。API 允许您很容易地在web页面中嵌入地图。 JavaScript API由 esri ArcGIS online 托管,并且免费使用。

    Arcgis javascript API 本地Tomcat下部署

    《ArcGIS JavaScript API在本地Tomcat上的部署与应用》 ArcGIS JavaScript API 是Esri公司提供的用于构建地理信息系统(GIS)Web应用的核心开发工具,它允许开发者通过JavaScript语言创建交互式的地图应用程序。...

    JDK1.6API中文版+JavaScriptAPI+面试宝典

    Java开发文档集合包含JDK1.6 API中文版、JavaScript API、面试宝典以及Servlet API,这些都是Java开发者必备的学习资源。下面将详细讲解这些关键知识点。 首先,**JDK1.6 API中文版**是Java开发者理解Java平台核心...

    百度地图JavaScriptAPI离线版 百度web demo 百度地图下载器等

    百度地图JavaScriptAPI离线版 百度web demo等多个开发包,非常适用在不联网的环境使用,非常方便的下载地图瓦片,然后集成到web系统中。该版本我亲自使用过,完成开发工作。api需要有针对性修改。api有很多实例,只...

    JavaScript API文档

    JavaScript API文档是开发者在进行JavaScript编程时的重要参考资料,它详细阐述了JavaScript语言的各种函数、对象、类以及全局方法的使用方法。这篇文档旨在帮助开发者更好地理解和应用JavaScript,从而提升编程效率...

    JavaScript API速查手册.zip

    JavaScript API速查手册是一份非常实用的资源,它包含了JavaScript编程中常用API的详细信息,帮助开发者快速查找和理解各种函数、对象和方法。JavaScript,通常简称为JS,是一种广泛应用于网页和网络应用的轻量级...

    javascript api 手册

    JavaScript API 手册是开发人员在使用JavaScript编程时的重要参考资料,它包含了JavaScript语言的各种内置对象、函数、方法和全局属性的详细文档。JavaScript是一种广泛应用于Web开发的动态编程语言,它使得网页具备...

    JavaScript完整API文档

    JavaScript API文档包含了该语言的所有核心功能以及浏览器提供的额外功能,如DOM(Document Object Model)操作、BOM(Browser Object Model)接口、事件处理、AJAX(异步JavaScript和XML)等。JScript是微软对...

    学习教程大全:Gis javaScript API:2023年.pdf

    GIS JavaScript API 学习教程大全 GIS JavaScript API 是一种强大的工具,用于开发基于 Web 的 GIS 应用程序。该 API 提供了丰富的功能,允许开发者创建交互式的 GIS 应用程序,例如地图浏览、空间分析、地理编码等...

    ArcGis-for-javaScript最全中文API.docx

    ArcGIS for JavaScript API ArcGIS for JavaScript API 是一款功能强大且灵活的 API,用于构建基于 Web 的 GIS 应用程序。该 API 提供了丰富的功能和工具,帮助开发者快速构建功能强大且交互式的 GIS 应用程序。本...

    应用Flash JavaScript API解析fla文件.pdf

    Flash JavaScript API 在解析fla文件中的应用 Flash JavaScript API 是一个强大的工具,能够帮助我们实现对fla文件的自动批阅。下面我们将从几个方面来了解Flash JavaScript API 在解析fla文件中的应用。 首先,...

    arcgis javascript api离线帮助文档

    《ArcGIS JavaScript API 离线帮助文档:深入探索与应用》 ArcGIS JavaScript API 是Esri公司提供的一款强大的Web地图开发工具,它允许开发者在网页中创建交互式的地图应用程序。离线帮助文档是开发者在没有网络...

Global site tag (gtag.js) - Google Analytics