字符串中的html数据使可点击的html链接成为3/Flex
我有一个场景,我得到一个包含html数据的字符串,这不仅仅是html数据,它是一封保存为html文件并放入字符串中的电子邮件(outlook) 现在,这个字符串需要格式化为html文档,并且应该是datagrid中的可单击链接。因此,当我点击链接时,HTML文档应该会弹出,并为我提供一个普通用户可读的漂亮HTML页面。我希望我想要什么有点清楚 我不知道从哪里开始 您可以从此处下载示例html: 谢谢 ---编辑 希望我能解释得更好一点。我需要创建一个链接,当他们点击它时,他们会得到一个HTML页面。 字符串变量中包含HTML数据,确切地说,是上面HTML示例的源数据。 例子:字符串中的html数据使可点击的html链接成为3/Flex,html,apache-flex,actionscript-3,flex4,html-parsing,Html,Apache Flex,Actionscript 3,Flex4,Html Parsing,我有一个场景,我得到一个包含html数据的字符串,这不仅仅是html数据,它是一封保存为html文件并放入字符串中的电子邮件(outlook) 现在,这个字符串需要格式化为html文档,并且应该是datagrid中的可单击链接。因此,当我点击链接时,HTML文档应该会弹出,并为我提供一个普通用户可读的漂亮HTML页面。我希望我想要什么有点清楚 我不知道从哪里开始 您可以从此处下载示例html: 谢谢 ---编辑 希望我能解释得更好一点。我需要创建一个链接,当他们点击它时,他们会得到一个HTML页
public var html:String=示例文件的源代码;
HTML页面的整个源代码都在我的变量
HTML
中。现在,我需要将此作为一个链接,当他们单击它时,他们将动态获得html页面(作为弹出窗口) 你想做什么还不太清楚
如果您的问题是需要在flex中显示HTML格式的文本,那么有一个组件可以做到这一点
--编辑后更新
如果您打算在用户单击链接后打开html弹出窗口,则可以使用ExternalInterface调用javascript函数来完成此操作
希望它有帮助在flex web应用程序中显示HTML没有简单的方法(这是一个web应用程序,对吗?)。正如Xavi Colomer所说,您可以使用,但速度非常慢,它要求您将swf的显示模式更改为不透明,这可能会导致更多问题,具体取决于您的应用程序 您可以在浏览器中打开一个新页面,用于显示HTML。比如:
http://www.yourcooldomain.com/bla/displayTheHtml.php?oneTimeId=jhsfg765437gro734
有关如何从flex执行此操作的更多信息
另一方面(服务器),我假设您将这些html消息保存在数据库(?)上,因此使用php(或您正在使用的任何东西:p)显示它们应该很容易
如果要选择此路径,请注意安全性:oneTimeIdin
displayTheHtml.php?oneTimeId=jhsfg765437gro734
实际上应该是一个仅限一个tyme的id。您可以使用htmlText属性,然后指定CSS以执行正确的格式设置:
<mx:TextArea id="resourceText" height="100%" width="100%"
styleName="resourceText" editable="false"
styleSheet="{resourceStyleSheet}" htmlText="{html}"/>
它从外部文件读入:
private function loadCSS():void {
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, cssCompleteHandler);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
try {
urlLoader.load(new URLRequest("folder/base-html.css"));
} catch (error:Error) {
Alert.show("Unable to load requested document.");
}
}
private function cssCompleteHandler(event:Event):void {
// Convert text to style sheet.
var styleSheet:StyleSheet = new StyleSheet();
styleSheet.parseCSS(URLLoader(event.currentTarget).data);
// Set the style sheet.
model.resourceStyleSheet = styleSheet;
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
这会将它放入模型中,但在使用它时要确保resourceStyleSheet是可绑定的(我实际上在视图上设置了一个可绑定变量,并将其设置为模型值。当用户单击链接时,字符串变量
html
(其中包含html数据)应该是一个html弹出窗口。
private function loadCSS():void {
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, cssCompleteHandler);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
try {
urlLoader.load(new URLRequest("folder/base-html.css"));
} catch (error:Error) {
Alert.show("Unable to load requested document.");
}
}
private function cssCompleteHandler(event:Event):void {
// Convert text to style sheet.
var styleSheet:StyleSheet = new StyleSheet();
styleSheet.parseCSS(URLLoader(event.currentTarget).data);
// Set the style sheet.
model.resourceStyleSheet = styleSheet;
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}