Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.58.82.79] |
|
Сообщ.
#1
,
|
|
|
1. Пример:
Есть мой сайт, на сайте php скрипт с json ответом и лежит этот самый flash. На других доменах мой скрипт размещают (ссылка на мой сайт). Скажем мой сайт (где флеш и скрипт http://mysite.eu/ ) Человек разместил мой флеш (ссылка на флеш - с моего сайта) на свой сайт ( http://allsite.cew/ ) Вопрос: По клику на флеш, может ли послать json данные моему скрипту (который лежит на http://mysite.eu/ ) и получить ответ? т.е. например в JS AJAX сделать запрос на другой ресурс нельзя, это была бы дыра. 2. У меня флеш размером 400*200. Мне иногда нужно показывать данные во весь екран над HTML (пример на html http://leandrovieira.com/projects/jquery/lightbox/ - нажмите на картинку во вкладке example). Такое возможно сделать? Или можно с флеша вызвать функцию на странице с параметрами? |
Сообщ.
#2
,
|
|
|
Цитата По клику на флеш, может ли послать json данные моему скрипту (который лежит на http://mysite.eu/ ) и получить ответ? Ну, JSON вообще-то ничего не посылает, это формат представления данных. Но если опустить эту неточность... Если флеш-мувик открыт из того же домена, куда он адресует запрос, то запрос отработает. Если нет, то флеш-плеер будет искать файл политики безопасности (где и как прочитайте в документации). Если файл политики будет найден и в нем будет указан домен с которого был сделан запрос, то запрос отработает, иначе вывалится SecurityError. Цитата Мне иногда нужно показывать данные во весь екран над HTML. Такое возможно сделать? Да, средствами javascript. К слову, Flash и Javascript могут вызывать функции друг друга (подробности в документации). Есть возможность Fullscreen, реализованная в самом плеере (вроде с 9 версии начиная, точно не помню). Цитата Или можно с флеша вызвать функцию на странице с параметрами? Да, смотри выше. |
Сообщ.
#3
,
|
|
|
Цитата piksel @ Я это и имел ввиду.Ну, JSON вообще-то ничего не посылает, это формат представления данных. Но если опустить эту неточность... Цитата piksel @ Вот у меня вопрос:Да, смотри выше. Flash CS5 AS3.0 есть такой код: calculate.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage_2); function fl_ClickToGoToWebPage_2(event:MouseEvent):void { import flash.external.ExternalInterface; if (ExternalInterface.available) { ExternalInterface.call("nameOfJSFunction"); trace("JS call"); } } calculate - кнопка. В HTML function nameOfJSFunction(){alert('ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫыыыыыыыыыыыыыыыыыыыыыы');} Во флеше в вывод JS call записывается, а вот в в браузере вызов ф-и не происходит (логи браузера чисты) Что я еще не доделал? Вопрос решил. Ошибка была в том что страницу запускал не на сервере. |
Сообщ.
#4
,
|
|
|
Странно, но у меня всё работает:
package { import flash.display.Sprite; import flash.events.Event; import com.bit101.components.PushButton; import flash.external.ExternalInterface; import flash.events.MouseEvent; public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var calculate:PushButton = new PushButton(this, 5, 5, "click me!", fl_ClickToGoToWebPage_2); } private function fl_ClickToGoToWebPage_2 (event:MouseEvent):void { if (ExternalInterface.available){ ExternalInterface.call("nameOfJSFunction"); trace("JS call"); } } } } |
Сообщ.
#5
,
|
|
|
Я запускал с винта html файл, там не работало. А если с сервера - то всё Ok.
|
Сообщ.
#6
,
|
|
|
У меня с винта работает. Наверное отличие в каких-то настройках компиляции.
|