2011-07-01 9 views
0

私はhtmlデータを含む文字列を取得するシナリオを持っています。これはHTMLデータではなく、htmlファイルとして保存された電子メール(outlook) 。文字列内のhtmlデータはクリック可能なHTMLリンクAS3/Flex

この文字列は、HTMLドキュメントにフォーマットする必要があり、データグリッド内のクリック可能なリンクである必要があります。だから私がリンクをクリックすると、HTML文書がポップアップされ、普通のユーザのために読める素敵なHTMLページが表示されるはずです。私はo_0がほしいと思う少し明確であることを望む。

どこから始めたらいいですか?

ここからサンプルHTMLをダウンロードすることができます:http://www.mediafire.com/?b2gfwymw70ynxir

感謝を!

---編集

うまくいけば、私は少し良くそれを説明することができます。リンクを作成する必要があり、リンクをクリックするとHTMLページが表示されます。 文字列変数にはHTMLデータがあります。正確には、上記のHTMLサンプルのソースデータです。 例: public var html:String = source_code_of_example_file;

HTMLページのソースコード全体は、私の変数htmlです。今私はこれをリンクにする必要があり、クリックすると、その場でHTMLページ(ポップアップ)が表示されます。

答えて

0

あなたがしたいことは本当に明確ではありません。

あなたの問題は、あなたがこの

http://code.google.com/p/flex-iframe/

行うことができるコンポーネントがありフレックスでHTML形式のテキストを表示する必要がある場合 - 編集

後のアップデートは、あなたの意図がにある場合は、ユーザーが使用できるリンクをクリックするとHTMLポップアップを開きますExternalInterfaceこれを行うにはjavascript関数を呼び出します。

は、それが

+0

私は自分の質問を編集しました。私はあなたのヒントを調べます。 –

+0

私の回答も更新しました:) –

+0

文字列変数html(HTMLデータが入っています)は、ユーザーがリンクをクリックするとHTMLポップアップになるはずです。 –

0

フレックスWebアプリケーションでHTMLを表示する簡単な方法はありませんがお役に立てば幸いです(これは右、Webアプリケーションです?)。 Xavi Colomer氏のように、Flex Iframeを使用することができますが、非常に遅いです、あなたのswfの表示モードを不透明に変更する必要があり、アプリケーションによってはさらに多くの問題が発生する可能性があります。

ブラウザでHTMLを表示するために使用する新しいページを開くことができます。何かのように:

http://www.yourcooldomain.com/bla/displayTheHtml.php?oneTimeId=jhsfg765437gro734 

フレックスからこれを行う方法の詳細here

(サーバー)このhtmlメッセージをデータベース(?)に保存して、php(またはあなたが使っているもの:P)を使って表示するのは簡単であるはずです。

あなたは、このパスは、セキュリティには注意が選択したつもりであれば:は本当に1 TYME IDのみでなければなりません

displayTheHtml.php?oneTimeId=jhsfg765437gro734

をoneTimeId。

1

あなたは、htmlTextプロパティを使用して、適切なフォーマットを実行するためにCSSを指定することができます。

<mx:TextArea id="resourceText" height="100%" width="100%" 
      styleName="resourceText" editable="false" 
      styleSheet="{resourceStyleSheet}" htmlText="{html}"/> 

私はモデルでそれを宣言するスタイルシートを読み込むには:

public var resourceStyleSheet : StyleSheet; 

それを取得します外部ファイルから読み込む:

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); 
} 

これは、モデルにそれを取得しますが、その後のsuを作りますre resourceStyleSheetは、使用するとバインド可能です(実際には、モデル値に設定したビューにバインド可能な変数を設定しています)。

関連する問題