网页flash文本抓取器(利用Javascript取和设FCKeditor值也是非常容易的,值)
优采云 发布时间: 2021-10-15 05:04网页flash文本抓取器(利用Javascript取和设FCKeditor值也是非常容易的,值)
使用Javascript获取和设置FCKeditor的值也很方便,如下:
// 获取编辑器中的 HTML 内容
函数 getEditorHTMLContents(EditorName) {
var oEditor = FCKeditorAPI.GetInstance(EditorName);
返回(oEditor.GetXHTML(真));
}
// 获取编辑器中的文本内容
函数 getEditorTextContents(EditorName) {
var oEditor = FCKeditorAPI.GetInstance(EditorName);
返回(oEditor.EditorDocument.body.innerText);
}
// 在编辑器中设置内容
函数 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(格式化);// 格式化为:true|false,表示是否以HTML格式取出
也提供:
oEditor.GetXHTML();
设置FCK编辑器的内容:
oEditor.SetHTML("content", false); // 第二个参数为:true|false,是否以所见即所得的方式设置其内容。此方法常用于“设置初始值”或“重置表格”。
将内容插入 FCK 编辑器:
oEditor.InsertHtml("html"); // "html" 是 HTML 文本
检查FCK编辑器的内容是否有变化:
oEditor.IsDirty();
在 FCK 编辑器之外调用 FCK 编辑器工具栏命令:
命令列表如下:
DocProps、模板、链接、取消链接、锚点、项目符号列表、编号列表、关于、查找、替换、图像、Flash、SpecialChar、笑脸、表格、TableProp、TableCellProp、UniversalKey、样式、字体名称、字体大小、字体格式、源、预览、保存、 NewPage、PageBreak、TextColor、BGColor、PasteText、PasteWord、TableInsertRow、TableDeleteRows、TableInsertColumn、TableDeleteColumns、TableInsertCell、TableDeleteCells、TableMergeCells、TableSplitCell、TableDelete、Form、Checkbox、Radio、SelectField、ImagedenField、FitWindowCheck、Select , 重做
使用方法如下:
oEditor.Commands.GetCommand('FitWindow').Execute();
= FCKConfig.BasePath +'plugins/'
// FCKConfig.Plugins.Add('placeholder','en,it');
去掉//后,就相当于增加了占位符的插件功能。fckeditor的插件文件整理好放在/editor/plugins/文件夹下。对于fckeditor2.0,里面有两个文件夹,也就是有两个官方插件。占位符是我们刚刚添加的文件夹。主要用于匹配多参数或单参数的自定义标签。这在制作编辑模板时非常有用。具体实例可以下载cms本系统查看学习。另一个文件夹 tablecommands 用于在编辑器中进行表格编辑。当然,如果你想自己做其他用途的插件,只要按照fckeidtor插件的制作规则放在/editor/plugins/下,然后添加FCKConfig.Plugins.Add('Plugin in fckeidtor .js 名称',',lang,lang');
第二部分,如何让编辑器打开时不出现编辑工具栏,只在点击“展开工具栏”时出现?很简单,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这一行改成了只有三个表情符号。
第一行当然是表情路径设置,第二行是相关表情文件名列表,第三行指的是弹出的表情添加窗口每行的表情个数。下面两个参数是弹窗模数。状态窗口的宽度和高度。
第四部分,文件上传管理部分
这部分可能是大家最关心的。上一篇文章简单讲了如何修改上传文件以及使用fckeidtor2.0提供的快速上传功能。下面继续深入讲解上传功能
FCKConfig.LinkBrowser = true;
FCKConfig.ImageBrowser = true;
FCKConfig.FlashBrowser = true; 这三句话可以在 fckconfig.js 中找到。这三个句子没有联系,但我在这里采集了它们。设置为true表示允许使用fckeditor浏览服务器端文件图片和Flash等,这个功能体现在插入图片时弹出的窗口中的“浏览服务器”按钮。如果你的编辑器只供你自己使用或者只用于后台管理,这个功能无疑是非常有用的,因为它可以让你直观地上传服务器上的文件。但是,如果您的系统要被前端用户或博客之类的系统使用,则这种安全风险可能会很严重。所以我们将其全部设置为 false;如下
FCKConfig.LinkBrowser = false;
FCKConfig.ImageBrowser = false;
FCKConfig.FlashBrowser = false;
这样,我们只有快速上传可用,好!接下来我们修改一下,也以asp为例,输入/editor/filemanager/upload/asp/打开config.asp,修改
ConfigUserFilesPath = "/UserFiles/" 这个设置是上传文件的一般目录,这里就不搬了,要自己改
OK,然后打开这个目录下的upload.asp文件,找到下面一段
昏暗的资源类型
If (Request.QueryString("Type") "") Then
resourceType = Request.QueryString("类型")
别的
资源类型 = "文件"
万一
然后在它后面添加
ConfigUserFilesPath = ConfigUserFilesPath & resourceType &"/"& Year(Date()) &"/"& Month(Date()) &"/"
在这种情况下,上传的文件将进入文件夹“/userfiles/文件类型(如图像或文件或闪存)/年/月/”。这个设置对于单个用户来说已经足够了。如果你想对于多用户系统,像这样改变它
ConfigUserFilesPath = ConfigUserFilesPath & Session("username") & resourceType &"/"& Year(Date()) &"/"& Month(Date()) &"/"
上传的文件将转到“/userfiles/user directory/file type/year/month/”。当然,如果你不想这样安排,你也可以修改成别的东西,比如用户目录再深一层等等,这里是Session("username")请修改或替换根据您的需要。
上传目录设置好了,但是上传程序不会自己创建这些文件夹。如果不存在,则上传不成功,那么我们就得按照上面的上传路径要求递归生成目录。
找到这一段
Dim sServerDir
sServerDir = Server.MapPath(ConfigUserFilesPath)
If (Right(sServerDir, 1) "\") Then
sServerDir = sServerDir & "\"
万一
把下面的两行
昏暗的FSO
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
替换为以下代码
暗淡的 arrPath,strTmpPath,intRow
strTmpPath = ""
arrPath = Split(sServerDir, "\")
昏暗的FSO
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
对于 intRow = 0 到 Ubound(arrPath)
strTmpPath = strTmpPath & arrPath(intRow) & "\"
如果 oFSO.folderExists(strTmpPath)=false 那么
oFSO.CreateFolder(strTmpPath)
万一
下一个
有了这段代码,就可以生成自己想要的文件夹了,上传的时候会自动生成。
好了,上传文件的修改暂时可以告一段落了,但是对于中文用户来说还是存在这样一个问题,就是fckeditor的文件上传默认没有重命名,在at不支持中文文件名同时,所以它正在上传。文件会变成“.jpg”之类的不可读文件,然后就会出现同名文件,当然同名也没关系,因为fckeditor会自动改名并添加(1)@ > 文件名后) 这种方式识别。但是,我们通常的习惯是让程序自动生成唯一的文件名
就在刚才那段代码的正下方是
'获取上传的文件名。
sFileName = oUploader.File( "NewFile" ).Name
看清楚了,这是文件名。让我们改变它。当然,必须有一个函数来生成文件名。改成下面这样
'//获取唯一的序列号
公共函数 GetNewID()
昏暗的序列号
暗淡的 dtNow
随机化
dtNow=现在()
ranNum=int(90000*rnd)+10000
GetNewID=year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0") & 小时(dtNow)),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & 跑数
结束函数
'获取上传的文件名。
sFileName = GetNewID() &"."& split(oUploader.File("NewFile").Name,".")(1)
这样上传的文件就会自动重命名,生成一个文件名,比如236365.jpg,就是一个由年、月、日、时、分、秒、三个随机数组成的文件名。