2012-02-29 3 views
0

Я пытался выяснить какое-то время. Обычно мне удается правильно работать с моими текстовыми полями, но это просто сводит меня с ума.Flash игнорирует мои большинство моих тегов в HTML TextField

У меня есть этот TextField, который я вставляю HTML-форматированный текст (содержащийся в XML-файле). По некоторым причинам почти все мои теги игнорируются (<b>, <i>, <u>, <ul> и <li>). Я могу получить его только для правильного отображения тегов <br />. Я мог бы использовать STYLESHEET, но я не думаю, что это сделало бы мои списки работы ...

Вот как все настроено:

Текст Я впрыснуть:

<text> 
    <![CDATA[<b>Some bold text </b>and some normal text <br/><u>This text is underlined</u> normal text to compare<br/><i/>This text is italic</i>]]> 
</text> 

Как мой TextField устанавливается:

// When my Class' setup method is called, I set those properties 
_tf = _transcript.getTextFormat(); 
_tf.font = "Verdana"; 
_tf.size = 12; 
_transcript.embedFonts = true; 
_transcript.multiline = true; 
_transcript.autoSize = TextFieldAutoSize.LEFT; 
_transcript.wordWrap = true; 

// In an function, later on 
_transcript.htmlText = transcript; // transcript is a parameter. Basically, the XML I wrote above 
_transcript.setTextFormat(_tf); 

Я DO имеют Verdana встраивать (а также варианты). Я убедился, создав отчет о размере и трассировку Font.enumerateFonts(). Если HTMLText я вывожу TextField после того, установить его, я получаю это:

<P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">Some bold text and some normal text </FONT></P><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">This text is underlined normal text to compare</FONT></P><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">This text is italic</FONT></P>

Я действительно из идей о том, почему рабочий Ничего, если кто-то какие-либо идеи, я действительно ценю это! !

Спасибо

Edit: Так что я решил проверить, не имеющие CDATA в мой XML, и добавив <b> тег в моем AS3 кода. Не работает. Я не понимаю, как я могу правильно вставлять свои шрифты, но Flash отказывается их использовать.

+0

Не уверен, но, возможно, возможно, что HTML-код обернут в CDATA, который имеет некоторый побочный эффект. Я бы опробовал это, прежде чем назначать текст .htmlText. –

+0

вы уверены, что 'htmlText' принимает' XML'? – vulkanino

+0

Мне нужен CDATA, или мой XML-файл будет интерпретировать теги HTML как теги XML. (Чтобы быть уверенным, после написания этого я протестировал его. Мне нужен CDATA, или мой XML начинает действовать) – gCardinal

ответ

0

Ok, чтобы получить эту работу, я использовал следующий синтаксис:

<mx:Text> 
    <mx:htmlText> 
     <![CDATA[<b>Some bold text </b>and some normal text <br/><u>This text is underlined</u> normal text to compare<br/><i/>This text is italic</i>]]> 
    </mx:htmlText> 
</mx:Text> 

Я не попробовать в том числе любой из дополнительного сценария у вас есть в вашем вопросе, но мне кажется, для обработки HTML-теги хорошо, как это.

Также здесь является LiveDocs ссылки я использовал, чтобы проверить мой синтаксис ...

http://livedocs.adobe.com/flex/3/html/help.html?content=textcontrols_04.html

Оглядываясь на ваш вопрос, я просто понял, что вы, вероятно, не используете Flex, хорошо так это это спецификация Flex, извините.