Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Работа с html ссылками в динамическом текстовом поле (http://www.flasher.ru/forum/showthread.php?t=102809)

SmokingAce 23.10.2007 12:03

Работа с html ссылками в динамическом текстовом поле
 
Здрасьте всем.
Сразу хочу извиниться за то, что возможно буду использовать неправильную терминологию (ламак я).

Дело обстоит так. Есть мувиклип, в середине него есть динамическое текстовое поле, в которое я подгружаю xml, и рендерю его как html. После загрузки странички в динамическом поле загружается текст со стандартными html ссылками. Так вот. Я хочу, чтобы когда я клацал по одной из этих ссылок, в то тоже тектовое поле грузился другой xml.

Как это сделать? Помогите пожалуйста.

chingachgoog 23.10.2007 13:50

asfunction

SmokingAce 24.10.2007 12:01

Огромное, человеческое СПАСИБО!

SmokingAce 24.10.2007 12:52

Есть одна проблема:

работает оно в таком варианте когда все это непосредственно пишется в моторе флэша
.....htmlText=< A HREF=\"asfunction:......\">...</A>
Но если такую байду запихнуть в хтмл.. То после первого слэша, оно все блокирует и ссылки вообще не видно. Как это обойти?

chingachgoog 24.10.2007 13:41

а в xml без слеша :)

Код:

href='asfunction:моя_функция_в_AS,мой_передаваемый параметр'
// в мой_передаваемый параметр не должно быть угловых скобок и т.п. - придется их заменять сущностями


SmokingAce 24.10.2007 14:14

Не пашет
Вот содержимое моего хмл, который выступает в роли хтмл:
<?xml version="1.0" encoding="UTF-8"?>
<mainbody>
<p>
<A HREF="asfunction:medic">Медицина</A>
</p>
</mainbody>

Содержимое АС функции:
function medic (){
trace("Hyperlink");
};

Поменяй пожалуйста то, что неправильно. Пробовал по разному.. ни фига не получается. Параметр насколько я понимаю необязателен.

SmokingAce 24.10.2007 14:22

Забыл сказать, что я перепробовал много разных вариантов скобок, кавычек и слэшей... Если не тяжело, проверь у себя. Чтобы это не в теории было, а подтверждено на практике.

chingachgoog 24.10.2007 14:36

А где код с XML?
трейсить для начала надо то, что из xml извлекается
а то выходит, что p - это отдельный узел

Код:

<?xml version="1.0" encoding="UTF-8"?>
<mainbody>
<![CDATA[
<p>
<A HREF="asfunction:medic">Медицина</A>
</p>
]]>
</mainbody>


SmokingAce 24.10.2007 14:59

Хмл использую исключительно вместо тхт. Так как не знаю как подгрузить динамически текст по-другому. Что есть CDATA?
Так как ты написал - не работает. вместо ссылки пишет undefined. Проблема не в хмл.. Нужно как-то прально описать эту асфункшн. Т.к. ссылка создается, все ок, но на что ссылаться не понимает. У тебя работает то, что ты написал?

chingachgoog 24.10.2007 15:16

Что значит "подгрузить текст"?
xml - это далеко не txt и с ним надо уметь работать.
http://flasher.ru/forum/showthread.php?t=102852

SmokingAce 24.10.2007 15:47

Это я понимаю, что это способ хранения данных и т.д. Я умею его грузить, чтоб выводило в текстфилд. Все прекрасно работает.Суть не в этом. Нужно, чтоб как-то восприняло эту асфункшн.

chingachgoog 24.10.2007 15:52

Не понял, что не выходит? as-функция не выводит трейс или не отображается слово "медицина"?

SmokingAce 24.10.2007 15:56

слово отображается, и при наведении палец появляется.. Но трейса нет..

chingachgoog 24.10.2007 16:07

а где все находится? В руте?

советую протрейсить, что передается в текстовое поле - осталась ли там собственно as-функция.

SmokingAce 24.10.2007 17:08

текст поле в клипе.
Ну так а я, собственно, что делаю? я ж и трейсю. Вот про это я и говорю, оно впринципе не воспринимает. Такое впечалнение, что ссылка с пустым адресом

Molecula 24.10.2007 17:14

Вот как делал, в Хмеле:
Код:

<a href="asfunction:Empl,em2">David Bowie</a>
Во флеше:
Код:

_global.Empl = function (wr:String) {
// Create_Center_XML(wr);
trace(wr)
  };

Не помню почему _global использовал, люди писали, что и без него можно, но времени не было разбираться, так и оставил тогда.

chingachgoog 24.10.2007 17:16

Если поле в клипе, то в этом же клипе и должна быть прописана as-функция

Трейсить надо не as-функцию, а то, что выводиться в текстовое поле:

Код:

Мое_текстовое_поле.htmlText= // не знаю откуда тут что берется
trace(Мое_текстовое_поле.htmlText)


SmokingAce 24.10.2007 17:22

Цитата:

Сообщение от Molecula
Вот как делал, в Хмеле:
Код:

<a href="asfunction:Empl,em2">David Bowie</a>
Во флеше:
Код:

_global.Empl = function (wr:String) {
// Create_Center_XML(wr);
trace(wr)
  };

Не помню почему _global использовал, люди писали, что и без него можно, но времени не было разбираться, так и оставил тогда.


Ура! заработало! Спасибо и тебе, добрый человек!

chingachgoog 24.10.2007 17:26

Собственно и ответ на вопрос: если функция не прописана там же где и расположено текстовое поле, то работать она будет, если только она глобальная.

SmokingAce 24.10.2007 17:58

Вот если бы я был такой умный, то работал бы в Сигме ))), а не сайт для исполкома лепил ))).

Спасибо, вам обоим.


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

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