Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   При присвоении значения TextField.htmlText добавляются ненужные значения (http://www.flasher.ru/forum/showthread.php?t=174296)

Omar2002 22.01.2012 04:04

При присвоении значения TextField.htmlText добавляются ненужные значения
 
Добрый день - столкнулся с проблемой. Пробую доработать редактор Мэрлина:
http://www.flasher.ru/forum/showthre...hlight=WYSIWYG

В частности работу с картинками и наткнулся на одно неприятное дело:

Если есть текстфилд и мы задаем ему htmlText, то при вставке картинки внутри тега <a>, почему-то получается лишний пробел. более того, если в текст еще дополнительно встваить тег <a> то, в тексте появится лишний пустой урл.

Чтобы было более ясно - приведу пример:
Код AS3:

            var tf1:TextField = createCustomTextField(10, 10, 400, 22);
            tf1.htmlText = '<b>Lorem ipsum dolor sit amet.</b><a href="http://yandex.ru"><img src="dev/data/data/images/gallery/3.jpg"></a>';
            trace("htmlText: " + tf1.htmlText);
            tf1.htmlText += '<b>Lorem ipsum dolor sit amet.</b><a href="http://yandex.ru"><img src="dev/data/data/images/gallery/3.jpg"></a>';
            trace("htmlText1: " + tf1.htmlText);

В тоге получим такие трейсы:
Код AS3:

htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><B>Lorem ipsum dolor sit amet.</B><FONT SIZE="2"><A HREF="http://yandex.ru" TARGET=""><IMG SRC="dev/data/data/images/gallery/3.jpg"> </A></FONT></FONT></P>
 
htmlText1: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><B>Lorem ipsum dolor sit amet.</B><FONT SIZE="2"><A HREF="http://yandex.ru" TARGET=""><IMG SRC="dev/data/data/images/gallery/3.jpg"> </A><A HREF="http://yandex.ru" TARGET=""> </A></FONT><B>Lorem ipsum dolor sit amet.</B><FONT SIZE="2"><A HREF="http://yandex.ru" TARGET=""><IMG SRC="dev/data/data/images/gallery/3.jpg"> </A></FONT></FONT></P>

Как видно - в первом случае добавился пробел лишний в урл, а во втором случае - вообще появился лишний тег <a> с пробелом внутри

Код AS3:

<A HREF="http://yandex.ru" TARGET=""> </A>

Как с этим можно бороться? может как-то можно текстфилд настроить чтобы он не плодил эти ненужные ссылки . Все бы ничего - но в конечном итоге я в редакторе вешаю на ссылки event:, а это значит что каждая пустая ссылка тоже становится активной.

in4core 22.01.2012 04:09

а взять tf.text регилия не позволяет? или вам нужны обязательно все эти <p> ?

Omar2002 22.01.2012 23:29

В том-то и дело, что мне по сути как раз все эти теги и нужны. Редактор ведь делается.

Добавлено через 1 час 31 минуту
Что никто не сталкивался с подобными проблемами?

in4core 23.01.2012 03:07

сталктвался седня. как решить не знаю

Dukobpa3 23.01.2012 03:22

Все сталкиваются и никто не знает:))

Присоединяюсь к вопросу.
Реквестирую в топик мастеров-джедаев!!

silin 23.01.2012 09:58

Код AS1/AS2:

tf.condenseWhite = true;

вроде бы решает проблему с 'левым' <a></a>

BuKT 23.01.2012 10:49

Может <![CDATA[%someHTMLString]]> поможет?

in4core 23.01.2012 15:09

Я столкнулся с этой системой как раз опробовав код Silin в прошлой теме про декодер с подсветкой. Если запускать тупо строчку, все окей, а если грузить например текстовый документ то начинаются какие то траблы, причем если добавить как html текст - все окей, а если просто текстом через формат, то символов на 5 переезд.

Omar2002 24.01.2012 00:15

Цитата:

Сообщение от silin (Сообщение 1058545)
Код AS1/AS2:

tf.condenseWhite = true;

вроде бы решает проблему с 'левым' <a></a>

Спасибо! А ведь помогло - лишние <a> теперь не появляются. Странно, что я это свойство пропустил когда ковырялся в документации.


Цитата:

Я столкнулся с этой системой как раз опробовав код Silin в прошлой теме про декодер с подсветкой. Если запускать тупо строчку, все окей, а если грузить например текстовый документ то начинаются какие то траблы, причем если добавить как html текст - все окей, а если просто текстом через формат, то символов на 5 переезд.
А в документации по этой команде написано, что она отрабатывается только в случае работы с htmlText, а в случае с text она игнорируется. http://help.adobe.com/ru_RU/FlashPla...#condenseWhite


Часовой пояс GMT +4, время: 05:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.