`
baobaoupup
  • 浏览: 475403 次
文章分类
社区版块
存档分类
最新评论

在线编辑器一个关键问的题解决

 
阅读更多

最近自己做了个在线编辑器,呵呵,fck功能是强大,但好多功能用不上而且文件有点大,上万行代码在互联网上下载要花不少时间,初始化又要花一些时间。运行起来有点慢。还是自己写个好点,呵呵。

下载了几个别人的代码参考,发现并不是想象的那么难,至于打开iframe的编辑方式和如何取得选中的代码就略去不说了google一下,呵呵。其实在线编辑器的大部分功能使用javascript的execCommand函数都可以实现,但是有个问题在实现任意修改文字大小时使用execCommand('FontSize', false, value)只是7种大小可选,编辑器切换为源代码方式看<font size="7"> </font>的方式。呵呵,太笨的方式了,要改为<font style="font-size: 12px"></font>方式就好了。那就要用到pasteHTML函数了,可是该方法除ie外其他浏览器都不支持。网上很多文章都抱怨其他的浏览器不支持pasteHTML函数。呵呵,其实不是ie浏览器实现更方便,使用execCommand('insertHTML', false, value)(注意该函数使用'insertHTML'参数ie不支持)。因此判断是ie使用pasteHTML方法非ie使用execCommand('insertHTML', false, value)方法,使用它就可以把指定的文字段替换为你想要的文字了。呵呵有了它不管是插入图片,生成链接(使用execCommand方法直接实现的话就不能带参数了比如你<img >内要带alt, <a>内要带target)你都能玩转了。其他也可以方便实现,比如插入带颜色的横线,插入块<div></div>带上你喜欢的样式。

(以上方法我只测试了firefox可行,其他浏览器有待证实)。希望对你写在线编辑器有所帮助。

附网上搜索到的execCommand函数参数:

2D-Position 允许通过拖曳移动绝对定位的对象。
AbsolutePosition 设定元素的 position 属性为“absolute”(绝对)。
BackColor 设置或获取当前选中区的背景颜色。
BlockDirLTR 目前尚未支持。
BlockDirRTL 目前尚未支持。
Bold 切换当前选中区的粗体显示与否。
BrowseMode 目前尚未支持。
Copy 将当前选中区复制到剪贴板。
CreateBookmark 创建一个书签锚或获取当前选中区或插入点的书签锚的名称。
CreateLink 在当前选中区上插入超级链接,或显示一个对话框允许用户指定要为当前选中区插入的超级链接的 URL。
Cut 将当前选中区复制到剪贴板并删除之。
Delete 删除当前选中区。
DirLTR 目前尚未支持。
DirRTL 目前尚未支持。
EditMode 目前尚未支持。
FontName 设置或获取当前选中区的字体。
FontSize 设置或获取当前选中区的字体大小。
ForeColor 设置或获取当前选中区的前景(文本)颜色。
FormatBlock 设置当前块格式化标签。
Indent 增加选中文本的缩进。
InlineDirLTR 目前尚未支持。
InlineDirRTL 目前尚未支持。
InsertButton 用按钮控件覆盖当前选中区。
InsertFieldset 用方框覆盖当前选中区。
InsertHorizontalRule 用水平线覆盖当前选中区。
InsertIFrame 用内嵌框架覆盖当前选中区。
InsertImage 用图像覆盖当前选中区。
InsertInputButton 用按钮控件覆盖当前选中区。
InsertInputCheckbox 用复选框控件覆盖当前选中区。
InsertInputFileUpload 用文件上载控件覆盖当前选中区。
InsertInputHidden 插入隐藏控件覆盖当前选中区。
InsertInputImage 用图像控件覆盖当前选中区。
InsertInputPassword 用密码控件覆盖当前选中区。
InsertInputRadio 用单选钮控件覆盖当前选中区。
InsertInputReset 用重置控件覆盖当前选中区。
InsertInputSubmit 用提交控件覆盖当前选中区。
InsertInputText 用文本控件覆盖当前选中区。
InsertMarquee 用空字幕覆盖当前选中区。
InsertOrderedList 切换当前选中区是编号列表还是常规格式化块。
InsertParagraph 用换行覆盖当前选中区。
InsertSelectDropdown 用下拉框控件覆盖当前选中区。
InsertSelectListbox 用列表框控件覆盖当前选中区。
InsertTextArea 用多行文本输入控件覆盖当前选中区。
InsertUnorderedList 切换当前选中区是项目符号列表还是常规格式化块。
Italic 切换当前选中区斜体显示与否。
JustifyCenter 将当前选中区在所在格式化块置中。
JustifyFull 目前尚未支持。
JustifyLeft 将当前选中区所在格式化块左对齐。
JustifyNone 目前尚未支持。
JustifyRight 将当前选中区所在格式化块右对齐。
LiveResize 迫使 MSHTML 编辑器在缩放或移动过程中持续更新元素外观,而不是只在移动或缩放完成后更新。
MultipleSelection 允许当用户按住 Shift 或 Ctrl 键时一次选中多于一个站点可选元素。
Open 打开。
Outdent 减少选中区所在格式化块的缩进。
OverWrite 切换文本状态的插入和覆盖。
Paste 用剪贴板内容覆盖当前选中区。
PlayImage 目前尚未支持。
Print 打开打印对话框以便用户可以打印当前页。
Redo 重做。
Refresh 刷新当前文档。
RemoveFormat 从当前选中区中删除格式化标签。
RemoveParaFormat 目前尚未支持。
SaveAs 将当前 Web 页面保存为文件。
SelectAll 选中整个文档。
SizeToControl 目前尚未支持。
SizeToControlHeight 目前尚未支持。
SizeToControlWidth 目前尚未支持。
Stop 停止。
StopImage 目前尚未支持。
StrikeThrough 目前尚未支持。
Subscript 目前尚未支持。
Superscript 目前尚未支持。
UnBookmark 从当前选中区中删除全部书签。
Underline 切换当前选中区的下划线显示与否。
Undo 撤消。
Unlink 从当前选中区中删除全部超级链接。
Unselect 清除当前选中区的选中状态。

分享到:
评论

相关推荐

    垃圾运输问题的解决校内数学建模竞赛C题.pdf

    因此解题的关键在于找出一个调度方案,使空载行驶的线路最小。 第三阶段则是编制程序阶段,我们结合下山法逐点搜索,并引入随机生成器。在出现后继点权值相等难以判断以哪点继续搜索时,由随机生成器确定。为了让...

    JAVA面试题最全集

    在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框? 65.如何加载图片? 66.什么是模态对话框? 67.阐述MVC的概念 68.GUI布局管理器的使用,FlowLayout,BorderLayout,GridBagLayout 69.如何构造一棵树?...

    软件设计及体系结构练习题.doc

    生成器模式是一步一步创立一个复杂的对象,允许用户通过制定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节。单例模式是指确保一个仅有一个唯一的实例,并提供一个全局的访问点。 构造型软件...

    00018计算机应用基础试题.doc

    多媒体计算机系统 参考答案:D [单项选择题] 8、要把一台普通的计算机变成多媒体计算机,要解决的关键技术不包括() A.多媒体数据压编码技术 B.多媒体数据压解码技术 C.网络包分发技术 D.视频音频数据的输出技术 ...

    Oracle DBA面试题及答案(for Oracle E-Business Suite DBA)

    AutoConfig 使用了一个上下文文件来维护关键的配置文件。一个上下文文件就是一个 XML 文件,在 $APPL_TOP/admin 目录下,进行集中式的存储。AutoConfig 读取 XML 文件,并且创建所有的 AutoConfig 管理配置文件。 ...

    会计理论考试题

    23.如果要把C盘某个文件夹中的一些文件复制到C盘的另外一个文件央中,在选定文件后,若采用拖放操作,可以用___B___目标的方法。 A、直接拖至 B、Ctrl十拖至 C、Alt十拖至 D、单击 24.Windows98中的磁盘的根文件夹是...

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    数据结构(C++)有关练习题

    c. 该程序要有顾客购票,查询班机起飞降落时间,班机订票情况等3个功能,并实现菜单选项 5、 用C++编写一个简单的行编辑器,每个结点保存一行文本,程序以E file开始,然后显示行数和提示符,如果输入I,后面...

    C语言入门经典(第4版)--源代码及课后练习答案

    1.3 编辑第一个程序 4 1.4 处理错误 5 1.5 剖析一个简单的程序 6 1.5.1 注释 6 1.5.2 预处理指令 7 1.5.3 定义main()函数 7 1.5.4 关键字 8 1.5.5 函数体 8 1.5.6 输出信息 9 1.5.7 参数 10 1.5.8 控制符...

    吉大《计算机应用基础》试题及答案.doc

    C、 右击桌面空白处,选属性 D、 右击任务栏空白处,选属性 得分: 2 知识点: 计算机应用基础,计算机应用基础作业题 展开解析 答案 A 13、要把一台普通的计算机变成多媒体计算机,要解决的关键技术不包括______。...

    Python语言程序设计习题答案.zip

    工欲善其事,必先利其器,通过对本章的学习,学习者可拥有一个强大的编程工具,从此开启数据分析编程之旅。 第2章Python语言基础。Python作为一门与计算机交流的编程语言,有着跟自然语言相似的特点:字、词、句、...

    吉大《计算机应用基础》试题及答案教材.doc

    光标在一个图文框中 得分: 2 知识点: 计算机应用基础,计算机应用基础作业题 展开解析 答案 A 15. IPv6地址有_____________位二进制数组成。 A. 15 B. 33 C. 63 D. 128 得分: 2 知识点: 计算机应用基础,计算机...

    吉大《计算机应用基础》试题及答案(1).doc

    光标在一个图文框中 得分: 2 知识点: 计算机应用基础,计算机应用基础作业题 展开解析 答案 A 15. IPv6地址有_____________位二进制数组成。 A. 15 B. 33 C. 63 D. 128 得分: 2 知识点: 计算机应用基础,计算机...

    基于MVC模式的在线考试系统-软件开发毕业论文.pdf

    基于MVC模式的在线考试系统是一个网络化考试系统的重要组成部分,其主要目的是设计并实现一个在线考试系统,以改革传统考试方式。该系统利用MVC模式,实现试卷动态生成、计算机自动判卷、随机选题、自动评分等功能,...

    ABAP用户指南

    向资深 ABAP/4 程序员提供 解决特殊问 题的参考方 案 为满足这些 需求,特提 供一个整体 概述并本指 南分成三个 部分,循序 渐进,逐步 深入 ABAP/4 的基本组件 如何编写 报表程序 如何编写 事务 ABAP/4 用户...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    统考计算机应用基础精选题库解析-计算机多媒体技术篇.docx

    4、要把一台普通的计算机变成多媒体计算机,要解决的关键技术不包括______。 A:多媒体数据压编码技术 B:多媒体数据压解码技术 C:网络包分发技术 D:视频音频数据的输出技术 【答案】C 【解析】多媒体计算机是指...

    vc++ 开发实例源码包

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 FreeBird2011Dlg.h 主对话框类头文件 MultiGroup.h 多播组类头文件 UserLink.h 用户链表类头文件 ListenSocket.h 侦听接口...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    BC ABAP/4 用户指南

    向资深 ABAP/4 程序员提供 解决特殊问 题的参考方 案 &lt;br&gt;为满足这些 需求,特提 供一个整体 概述并本指 南分成三个 部分,循序 渐进,逐步 深入 &lt;br&gt;? ABAP/4 的基本组件 ? 如何编写 报表程序 ? 如何...

Global site tag (gtag.js) - Google Analytics