【问题标题】:load html page into flex textarea将html页面加载到flex textarea
【发布时间】:2009-06-02 09:54:45
【问题描述】:

您好,我想在 flex 的 textarea 框中显示来自网站的一些文本内容。

<?xml version="1.0" encoding="utf-8"?>

        import mx.managers.PopUpManager;
        import mx.core.Application;
        import flash.net.URLLoader;
        import mx.rpc.events.ResultEvent;
        import mx.controls.Text;
        import mx.controls.Alert; 

        [Bindable]
        private var xmlText:String;

        private function serviceResult(event:ResultEvent):void 
        {
        myTextArea.text = event.result.contents.content;
        }

        private function init():void{
        listContents.send();
        }
    ]]> 
</mx:Script>

<mx:HTTPService id="listContents" url="http://theurl.com" result="serviceResult(event)"/>

<mx:TextArea id="myTextArea" text="{xmlText}" />

有什么想法吗?

【问题讨论】:

    标签: html apache-flex url


    【解决方案1】:

    我通过使用 URLLoader 和 URLRequest 完成了类似 b4 的操作,但使用了 flash CS3 所以在 flex 中尝试使用这个概念也是一样的想法

    public function sendSQLQuery(aspURL:String, variables:URLVariables, returnSQLXMLCallback:Function):void
            {
               var myXMLURL:URLRequest = new URLRequest(aspURL);          
               myXMLURL.data = variables;          
               myXMLURL.method = URLRequestMethod.POST;        
               var myLoader:URLLoader = new URLLoader();           
               //Define the event handlers to listen for success and failure
               myLoader.addEventListener ( IOErrorEvent.IO_ERROR, handleIOError );
               myLoader.addEventListener ( HTTPStatusEvent.HTTP_STATUS, handleHttpStatus );
               myLoader.addEventListener ( SecurityErrorEvent.SECURITY_ERROR, handleSecurityError );
               myLoader.dataFormat = URLLoaderDataFormat.TEXT;
               myLoader.addEventListener("complete", returnSQLXMLCallback);         
               myLoader.load(myXMLURL);
            }
    

    我收到返回的 XML 格式的页面,然后解析它

    【讨论】:

    • public function returnSQLXMLCallback(event:Event):void { } 你能告诉我在里面放什么吗?
    • 抱歉我已经有了 (var x:xml=new XML(event.target.data); 非常感谢你的帮助!
    • 哦,是的,您的回答对我有帮助!谢谢
    【解决方案2】:

    简写方式:

    <mx:TextArea htmlText="{xmlText}" />    
    <mx:String id="xmlText" source="data.xml" />
    

    【讨论】:

      【解决方案3】:

      尝试使用 TextArea 控件的 .htmlText 属性。请参阅此处,来自 Flex 文档:

      http://www.adobe.com/livedocs/flex/3/langref/mx/controls/TextArea.html#htmlText

      应该可以,但请记住,Flex 控件的 HTML 呈现功能还很初级;你不会在样式或格式方面得到太多的东西(因此 StackOverflow 上关于这个主题的问题数量很多),但基础知识应该对你有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-02
        • 2017-01-18
        • 2012-05-22
        • 1970-01-01
        • 1970-01-01
        • 2011-01-22
        相关资源
        最近更新 更多