Просмотр полной версии : Работа с html ссылками в динамическом текстовом поле
SmokingAce
23.10.2007, 12:03
Здрасьте всем.
Сразу хочу извиниться за то, что возможно буду использовать неправильную терминологию (ламак я).
Дело обстоит так. Есть мувиклип, в середине него есть динамическое текстовое поле, в которое я подгружаю 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
Вот как делал, в Хмеле:
<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
Вот если бы я был такой умный, то работал бы в Сигме ))), а не сайт для исполкома лепил ))).
Спасибо, вам обоим.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.