在flex里有一个组件叫RichTextEditor,它可以编辑简单的文字样式,但是它生成的htmlText却并不是十分符合html规范,所以我简单修改了下,具有复制功能的html编辑器:
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:flexlib="http://code.google.com/p/flexlib/"
xmlns:text="com.riaidea.text.*"
width="800" height="600" close="PopUpManager.removePopUp(this)" title="编辑器">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.managers.PopUpManager;
import spark.components.Application;
protected function copyBtn_clickHandler(event:MouseEvent):void
{
var context:String=richText.htmlText;
if(context!=""){
Alert.show("复制成功","复制内容到剪贴板");
System.setClipboard(richTextEditorToHtml(context));
}else{
Alert.show("复制失败,请填写内容","复制内容到剪贴板");
}
}
protected function clearBtn_clickHandler(event:MouseEvent):void
{
richText.htmlText="";
}
private function richTextEditorToHtml(str:String):String {
var xml:XML = XML("<BODY>"+str+"</BODY>");
var t1:XML;
var t2:XML;
// 移除所有 TEXTFORMAT
for( t1 = xml..TEXTFORMAT[0]; t1 != null; t1 = xml..TEXTFORMAT[0] ) {
t1.parent().replace( t1.childIndex(), t1.children() );
}
// 查找所有 ALIGN
for each ( t1 in xml..@ALIGN ) {
t2 = t1.parent();
t2.@STYLE = "text-align: " + t1 + "; " + t2.@STYLE;
delete t2.@ALIGN;
}
// 查找所有 FACE
for each ( t1 in xml..@FACE ) {
t2 = t1.parent();
t2.@STYLE = "font-family: " + t1 + "; " + t2.@STYLE;
delete t2.@FACE;
}
// 查找所有 SIZE
for each ( t1 in xml..@SIZE ) {
t2 = t1.parent();
t2.@STYLE = "font-size: " + t1 + "px; " + t2.@STYLE;
delete t2.@SIZE;
}
// 查找所有 COLOR
for each ( t1 in xml..@COLOR ) {
t2 = t1.parent();
t2.@STYLE = "color: " + t1 + "; " + t2.@STYLE;
delete t2.@COLOR;
}
// 查找所有 LETTERSPACING
for each ( t1 in xml..@LETTERSPACING ) {
t2 = t1.parent();
t2.@STYLE = "letter-spacing: " + t1 + "px; " + t2.@STYLE;
delete t2.@LETTERSPACING;
}
// 查找所有 KERNING
for each ( t1 in xml..@KERNING ) {
t2 = t1.parent();
// ? css
delete t2.@KERNING;
}
// 查找所有 <LI> UL
return xml.children().toXMLString();
}
]]>
</fx:Script>
<s:VGroup width="100%" height="100%" gap="5">
<mx:RichTextEditor id="richText" width="100%" height="100%" title="请输入描述内容" />
<s:BorderContainer width="100%" height="34" backgroundColor="#DFDEDE" dropShadowVisible="false">
<s:HGroup width="100%" gap="20" horizontalAlign="center" verticalAlign="middle"
verticalCenter="0">
<s:Button id="copyBtn" label="复制" click="copyBtn_clickHandler(event)"
icon="@Embed('file:///C:/Users/liming/Desktop/imgs/22/edit-copy (3).png')"/>
<s:Button id="clearBtn" label="清空" click="clearBtn_clickHandler(event)"
icon="@Embed('file:///C:/Users/liming/Desktop/imgs/22/edit-clear (3).png')"/>
</s:HGroup>
</s:BorderContainer>
</s:VGroup>
</s:TitleWindow>
- 大小: 32.3 KB
分享到:
相关推荐
**FLEX 图文编辑器(FLEX HTML编辑器)** FLEX图文编辑器是一款基于Adobe Flex技术构建的富文本编辑工具,特别强调了对图文混合编辑的支持。它允许用户在编辑环境中自由组合文本和图像,提供了类似Word的功能,如...
Flex图文编辑器(FLEX HTML编辑器)汉化版.rar Flex图文编辑器(FLEX HTML编辑器)汉化版.rar Flex图文编辑器(FLEX HTML编辑器)汉化版.rar Flex图文编辑器(FLEX HTML编辑器)汉化版.rar
Flex 文字编辑器是一款基于Adobe Flex技术开发的富文本编辑工具,主要应用于Web应用程序中,为用户提供一个可自定义、功能丰富的文字处理环境。Flex是一个开源的用户界面框架,使用ActionScript编程语言和MXML标记...
该编辑器支持流程文件的图形界面输入方式编辑, 不需考虑流程具体如何定义, 以拖拽节点的形式自动完成流程的编辑, 支持本地和服务器读写; 支持单个节点的拖拽和流程节点的整体拖拽;曲线绘制方式是以自动计算...
《基于Adobe Flash平台的相片编辑器:Flex技术解析》 在数字媒体和网络应用领域,Adobe Flash平台曾经是创建互动内容的首选工具之一。尤其是对于相片编辑器这类需要用户交互的应用,Flash的灵活性和丰富的图形处理...
在Flex项目中,流程设计器的主要功能是允许用户通过拖放操作定义和编辑工作流。工作流通常由一系列步骤组成,这些步骤代表了一个业务过程,如审批流程、订单处理等。用户可以通过流程设计器自定义每个步骤的顺序、...
这款报表设计器的出现,为开发者提供了更加便捷、高效的报表创建和编辑体验,尤其适合那些不熟悉或不希望使用Flex技术的团队。 在ASP.NET环境中,报表设计通常涉及到复杂的布局、数据绑定和样式设定。传统的Flex...
例如,可以调用`editor.getContent()`获取编辑器中的HTML内容,或者`editor.getText()`获取纯文本内容。对于uniapp中的自定义编辑器,开发者可能已经封装了这些方法,可以直接在项目中调用。 五、事件监听与交互 富...
Adobe Flex Builder是一款集成开发环境(IDE),提供了代码编辑、调试、性能分析等功能,便于开发人员使用Flex API进行开发。此外,Flex API也可以与Eclipse等其他IDE集成,提供良好的开发体验。 通过理解并熟练...
【163在线编辑器】是一款模仿网易163邮箱提供的在线文本编辑工具,它集成了HTML和CSS技术,使得用户无需安装任何软件,只需通过浏览器就能进行文档的编辑、排版和格式化操作。这款编辑器适用于创建邮件、编写文章、...
- **完善的开发环境**:提供全面的开发工具支持,包括编辑器、调试工具、构建工具等。 - **通用的配置环境**:支持跨平台部署,能够在不同的操作系统和浏览器环境下运行。 - **企业级的特征**:支持大规模应用的...
开发者可以使用SDK配合文本编辑器进行开发,但通常会选择集成开发环境(IDE)来提高效率。 2. **FlexBuilder**:它是基于Eclipse的IDE,为Flex开发提供了一流的支持,包括代码提示、调试器、项目管理等功能,极大地...
- 使用FLEX Builder内置的调试器,你可以设置断点,检查变量值,追踪代码执行流程。 - 测试工具如Flash Player或Adobe AIR Debug Launcher可以帮助你在不同环境中测试应用。 **学习资源** 为了深入学习FLEX,你可以...
Flex SDK是Flex开发的基础,包含了编译器、库和命令行工具,允许开发者在任何文本编辑器下进行开发。Flex Builder是基于Eclipse的集成开发环境(IDE),提供了一整套的开发、调试和优化工具,极大地提高了开发效率。...
- **编辑器**:用于编写和编辑MXML和ActionScript代码,提供语法高亮、代码提示和错误检查等功能。 - **视图**:包括属性面板、大纲视图、调试器和项目资源管理器等,辅助开发者进行开发和调试工作。 总之,Flex是...
- **编写代码**:在编辑器中使用MXML和ActionScript 3.0编写应用程序的代码。 - **测试与调试**:利用Flex Builder内置的测试功能进行调试和验证。 - **发布**:完成开发后,可以将应用程序打包为SWF文件或其他格式...
11. **Flex的应用场景**:Flex常用于创建数据密集型的Web应用,如企业级应用、数据可视化工具、在线图表编辑器等。 通过深入学习和实践这些知识点,你可以逐步掌握Flex开发,并能够创建出具有吸引力且功能强大的Web...
开发者可以使用免费的SDK,配合文本编辑器进行开发,或者选择购买Adobe Flex Builder来获得更强大的集成开发环境。 二、MXML语言基础 MXML是Flex的主要标记语言,用于描述用户界面的布局和组件。它与HTML类似,但更...
6. **Flex Builder**:Adobe Flex Builder是一款集成开发环境(IDE),提供了图形化的布局编辑器和代码提示,极大地简化了Flex应用的开发流程。 7. ** BlazeDS**:Flex 3.0 集成了BlazeDS服务,这是一个服务器端的...
Adobe Flex Builder是开发Flex应用的主要工具,它提供了一个集成的开发环境,包括代码编辑器、调试器和预览功能。通过这个IDE,开发者可以更高效地构建、测试和优化Flex2应用。 总的来说,这个压缩包提供了学习...