![]() |
Перехват ссылки внутри флэша.
Есть флэшка, в которой есть ссылки.
1. Изначально ссылки были html странице. Пример html - кода: Код:
<a href="http://yandex.ru">yandex.ru</a>3. Далее из PDF делался отдельный SWF. В итоге получаем флэшку, в которой есть возможность переходить по html ссылкам. Теперь, собственно, вопрос: можно ли как то отлавливать событие, когда кликаем по ссылке? А потом проверить, если ссылка вида, предположим, <a href="http://some_site_here">, то ничего не делать. А если ссылка имеет вид - <a href="#bookmark=7"> то выполнять какое нибудь действие. Можно ли это как то реализвать? (нужно для создания закладок (оглавления) во флэш-книге):rtfm: |
В хелпе прочитайте про asfunction.
|
хм, не понял, как можно при помощи этой функции, проверять при клике на ссылку, что если в ней #bookmark=5 то выполнять функию gotoPage(), если нет - ничего не делать (будет происходить авто открытие линка) ,
Как это можно сделать? |
asfunction вызвает назначенную вами функцию и передает туда аргумент. А внутри этой функции вы сами решаете, что делать исходя из аргумента.
|
это я вижу, меня интересует другое... могу ли я как то отлавливать сами ссылки в отдельном swf файле, который динамически загружается во флеш - книгу? (ссылки в swf файле)
|
Ссылки какого вида?
<a href="http://yandex.ru">yandex.ru</a> или с asfunction? |
Похоже у него Два СВФ, ему тогда нужен LocalConnection, наверное.
|
мне необходимо отлавливать ссылки вида - <a href="#bookmark=6">Page 6</a>
ps. SWF - отдельных страниц у меня много (они загружаются динамиески во флеш книгу). Среди них есть отдельная страница, которая тоже загружается в книгу, которая как раз таки и является титульной, и в которой содержатся ссылки... |
Цитата:
|
ну и как мне это сделать при помощи asfunction? ссылки вида - <a href="#bookmark=6">Page 6</a>
|
Вы ссылки в том СВФ, который ТАЙТЛ, как прописываете, руками в СВФ, а потом компилите, или из внешнего ХМЛь файла берете?
Если первое, то asfunction не нужна. |
Цитата:
http://www.flasher.ru/forum/showpost...08&postcount=4 |
Ссылки в том СВФ получается по следующей цепочке:
1. Есть хтмл страница в этими сылками. 2. Делается ПДФ из ХТМЛ. 3. Делается СВФ из ПДФ. |
Цитата:
|
_swftools.org
там есть утилита под линукс, называется pdf2swf.... пользуюсь ею... 2iNils: Если я напишу в html коде: Код:
<HTML><HEAD>Полученный swf загрузиться в книгу и это сработает? |
Код:
txt.html = true; |
Попробуйте. Я не знаю, что произойдет с кодом в процессе преобразований.
|
вот почему то не работает.... интересно почему....
|
В Вашем СВФ который сгенерируется должна быть прописана функция, которая реагирует на разные значения аргументов, которые к ней будут приходить, т.е. Ваши "типы" ссылок.
Вы можете прописать эту функцию в этот генерируемый СВФ? Может стоить подумать о создании её в глобальном контейнере, куда всё грузите? Код:
_global.myUrls = function (arg:String) {Код:
<a href="asfunction:myUrls, book1">David Bowie</a> |
пробывал почему то не получается...
в хтмле я пишу Код:
<HTML><HEAD>после во флеше коде книги я пишу... такой код Код:
_global.myUrls = function (arg:String) { |
Потому что генератор или движок не "подгребает" ссылки из ХТМЛь в СВФ.
Вам нужно сделать трепанацию черепа СВФ, посмотреть что там, вшить ссылки на мувики, зашить и сгенерировать заново. Почитать доки на pdf2swf, может там есть лозейка. |
хм... нет, ну почему же... обычные ссылки например <a href="http://yandex.ru">yandex</a> вполне остаются кликабельными.. то есть при клике во флешке на них просиходит переход на yandex... хм а вот почему же требуемые ссылки не выполняются...... ?
ps. а вот кстати параметры той утилиты.... но я там ничего нужно не заметил, чтобы можно было напрямую с ссылками работать (а может оно и не нужно): Код:
Usage: pdf2swf [Options] input.pdf [-o output.swf] |
Сделал ссылку в свфе:
Код:
<a href="asfunction:tree, 5">YANDEX</a>Код:
_global.tree = function(str:String)ps. у меня сомнения на счет того, что вообще почемуто asfunction работает... в моем случае...хм |
Этот вопрос надо разбить на две части.
1. Происходит ли вызов tree? 2. Виден ли в tree метод gotoPage? |
У меня не происходит вызов метода gotoPage если мы его вызываем со страницы в книге (если он прописан в самой подгружаемой странице).
То есть если у меня на странице написан код Код:
...Код:
_global.myUrls = function (arg:String) { |
Цитата:
Не вызывается myUrls или gotoPage в ней? Это совсем разные вещи. |
_global.myUrls... то есть!
|
не очень внимательно читал топик, но по сабжу:
может поможет известный фокус со специфическим цветом a:hover и определением его на клике.. Код:
var tf:TextField; |
Э, да мы тут просто пытаемся заставить asfunction работать.
winfast, Код:
_global.myUrls = function (arg:String) { |
нет... говорю же что MyUrls почему-то не видна........ (
|
Приветствую всех. Продолжаю работу над флешкой уже я )
Декомпилировал свф с ссылками. Оказывается, там всё это генерируется не в текстовые поля с htmlText, а в кнопки со скриптами Код:
on(press){У меня есть возможность менять только url в getURL (т.е. вместо http://yandex.ru могу написать что угодно, в остальном генерацию свф никак повлиять не могу) Есть ли способ заставить getURL работать аналогично asfunction'у? |
Ан, нет. getURL всё же работает с asfunction ) Прошу прощения за беспокойство )
|
Мдаа... Обновил flash player до 9 версии и всё... asfunction уже не работает там (наверное, из-за вот этого: http://www.adobe.com/support/securit...apsb07-20.html )
Есть ли другие способы организовать подобную функциональность? |
| Часовой пояс GMT +4, время: 09:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.