2010-12-15 9 views
0

NUTSHELL
私はフラッシュアプ​​リケーション(フラッシュライト用 - アクションスクリプト2用)を持っています。 アプリケーションにロードするときXMLファイルと私はそれをオブジェクトで処理します。私は、テキストフィールドに正しいhtml入力を取得します。
の場合、オブジェクトをハードコードすると、すべてのhtmlタグが.htmlText属性から消え、テキストの前にコードが配置されます。オブジェクトをハードコードするのは私の意図です。なぜなら、読み込みはXMLよりもはるかに高速ですからです。Flash Lite:htmlText formatting

ストーリーショート:string.html = true;はすべてのスパンタグを削除しますが、それらは必要です。テキストフィールドのhtmlTextにspanタグを取得するにはどうすればよいですか?

私のアプリケーションで以下に

MORE INFO私はテキストフィールドがそれらにいくつかのテキストを配置し、それらはすべてうまくお互いの下に入れているように、正しいxとyの値を設定して作成します。関数内

:私はのhtmlTextをトレースすると

//ABOVE I CREATE TEXTFIELD USING THE .CREATETEXTFIELD FUNCTION 
this["text" + this._textFieldCounter].html = true; 
this["text" + this._textFieldCounter].multiline = true; 
this["text" + this._textFieldCounter].wordWrap = true; 
this["text" + this._textFieldCounter].autoSize = true; 
this["text" + this._textFieldCounter].styleSheet = this._styleSheet; 
this["text" + this._textFieldCounter].condenseWhite = true; 
this["text" + this._textFieldCounter].htmlText = "<span class=\"page\">" + strHtmlText + "</span>"; 
//trace(this["text" + this._textFieldCounter].htmlText); 

私は

<P ALIGN="LEFT"> 
<FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"> 
//here comes the strHtmlText 
</FONT> 
</P> 

を得るフラッシュは自動的に私のテキストの前に、これらのpとフォントタグを置きます。だから私のスタイルシートは正しいスタイルを表示しません。どのように私は最初の整列とフォントタグを取り除くが、まだHTMLとしてテキストフィールドを維持するのですか?もつとも
私はこの問題を回避する方法を発見したのTextFormatを設定することにより

EDIT
...私は新しい問題を抱えている:私のstrHtmlTextで
がスパン・タグ(<span class="text-in">blabla</span>)があるが、これは取得します除外された。それはなぜですか?私のスタイルシートはこれらのスタイルがないと何もしません。

(テキストは、アレイからロードされる)

答えて

1

それはあなたは、TextFieldにプロパティを割り当てるした順序とは何かを持っている必要があります。 1. field.htmltrueに設定し、2. styleSheetを割り当て、3. htmlTextと設定します。 htmlTextが割り当てられる前にstyleSheetを設定する必要があります。最初はas3ドキュメントへのリンクを投稿しましたが、これはAS2とAS3の両方に当てはまります。

これを試してください:新しいAS2 FLAの段階にTextFieldを配置してください。型をdynamicに設定します。名前を「_textField」にします。フォントをVerdana、16px、Blackに設定します。 「エラー」と入力します。またはTextFieldに似た何らかのテキストが含まれています。 「フォントを埋め込む」をクリックすると、asciiやLatin-1のような文字を十分に含めるようにしてください。 タイムラインで、このコードをムービーの最初のフレームに入力します。あなたがプログラムを実行すると

var style:TextField.StyleSheet = new TextField.StyleSheet(); 
style.parseCSS("p {font-family:Verdana; font-size:12px; color:#FF0000;}"); 
_textField.html = true; 
_textField.styleSheet = style 
_textField.htmlText = "<p>This is a test.</p>"; 
trace (" new text:"+_textField.htmlText); 

さて、それは12ピクセルにテキスト「これはテストです」に、赤に色やフォントサイズを変更する必要があります。それは私のコンピュータ上で行います。また、トレースは、htmlTextに割り当てられた全く同じテキストを印刷します。

ここで、styleSheethtmlTextプロパティを割り当てる行を交換します。プログラムを再実行します。それはあなたが不平を言っていた余分なタグをすべて持っています。

+0

私は(タグで定義されている)AS2で作業しています...しかし、htmlTextの前にstylesheet-propertyを設定しても、それは同じ問題です。 – Jozzeh

+0

私は元の投稿を編集し、代わりに例を提供しました。私はまだあなたがstyleSheetとhtmlTextを割り当てる順序に間違っていると思っています。あるいは、styleSheetが適切に初期化されていない可能性があります。しかし、これはFlashのバグではありません。 – weltraumpirat

+0

私はあなたの議論と事例が合意に同意します。しかし、アプリケーションで試してみると、htmlパラメータがtrueに設定されていると、spanタグは文字列から削除されます。私は、太字やイタリック体のタグのような通常のHTMLもすべて削除されると言っています。フラッシュフォントタグだけが残り、ダブルbrタグは閉じた段落タグになります。 – Jozzeh