Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.01.2009, 21:47
hipot вне форума Посмотреть профиль Отправить личное сообщение для hipot Посетить домашнюю страницу hipot Найти все сообщения от hipot
  № 3  
Ответить с цитированием
hipot
 
Аватар для hipot

Регистрация: Dec 2008
Сообщений: 38
ну тут надо код писать/выполнять уметь.
JavaScript и AS3 (1,2) минимум.
Вообще тема пахнет программированием, поэтому ее надо переносить в соответствующие разделы (в зависимости от того, на какой версии AS будет реализация)

вот как это делается на AS3 (на AS1,2 не помню как):

Вызов JavaScript из флеш:
делаем функцию JS на HTML странице, напр.
Код:
<script language="JavaScript">
    function changeTitle(title) {
        if(title == undefined) {
            title = "New Title";
        }
        window.title = title;
    }
    function getTitle(  ) {
        return window.title;
    }
</script>
Затем во флеш вызываем AS3 метод call класса ExternalInterface
Код AS1/AS2:
var title:String = ExternalInterface.call("getTitle");
ExternalInterface.call("changeTitle", "ActionScript 3.0 Exam"); //передаем значение параметра в JS
также есть и такой способ (опять же AS3)
Код AS1/AS2:
var request:URLRequest = new URLRequest("javascript:alert('example');");
navigateToURL(request);
Вызов ActionScript3 функций(методов) из JavaScript.

необходимо написать функцию(метод) as3 и разрешить его использование извне при помощи

Код AS1/AS2:
function displayMessage(mess:String):void {
  //..что-то тут делаем
}
ExternalInterface.addCallback("showMessage", displayMessage); 
/*showMessage - так будет называться метод в JS*/
Затем на HTML странице, напр. так:
Код:
<script language="JavaScript">
var flashPlayer;
function detectFlashPlayer(  ) {
    if(navigator.appName.indexOf("Microsoft") != -1) {
        flashPlayer = window.objectId;
    }
    else {
        flashPlayer = window.document.embedName;
    }
}
detectFlashPlayer();
flashPlayer.showMessage("example message");
</script>

из-за особенностей политики безопасности плеера, это работает только при обращении к странице в виде
http://sitename.ru/somepage.html
т.е. на веб-сервере, а не просто открыть html с жетского диска.
__________________
Чем универсальнее решение, тем меньше мест, где его можно применить...


Последний раз редактировалось hipot; 27.01.2009 в 21:49.
Создать новую тему   Часовой пояс GMT +4, время: 02:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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