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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.03.2012, 22:45
Sacha вне форума Посмотреть профиль Отправить личное сообщение для Sacha Найти все сообщения от Sacha
  № 1  
Ответить с цитированием
Sacha

Регистрация: Jul 2009
Сообщений: 20
По умолчанию ExternalInterface.addCallback

Добрый день!

Есть такой код:

Код AS3:
if (ExternalInterface.available) 
{ 
      ExternalInterface.addCallback("test", someTestJavaInput);
      ExternalInterface.call("test")
 
}
И функция в яве:

Код AS3:
function test()
{	
    var testSwf = document.getElementById('testfacebook');
    testSwf.someTestJavaInput("777");
};
Как получить каллбак в someTestJavaInput?
Такой код не работает, почему - неведаю.
А почему?

P.S. сall, впрочем, работает (алерты выводит).
В браузере (ФФ) ява разрешена
функция в АС паблик


Последний раз редактировалось Sacha; 12.03.2012 в 23:01.
Старый 12.03.2012, 23:31
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 2  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
Попробуй заключить ExternalInterface.addCallback("test", someTestJavaInput); в try...catch и посмотреть, вдруг ошибка? Вот тут есть про ошибки

Старый 13.03.2012, 00:07
Vishapakahr вне форума Посмотреть профиль Отправить личное сообщение для Vishapakahr Найти все сообщения от Vishapakahr
  № 3  
Ответить с цитированием
Vishapakahr

Регистрация: Apr 2009
Адрес: Armenia , Yerevan
Сообщений: 145
В яс замени это
var testSwf = document.getElementById('testfacebook');
testSwf.someTestJavaInput("777");

на thisMovie("testfacebook").someTestJavaInput("777"); где

Код:
function thisMovie(movieName) {
         if (navigator.appName.indexOf("Microsoft") != -1) {
             return window[movieName];
         } else {
             return document[movieName];
         }
     }
__________________
Urartu is a neoHittite and ProtoArmenian kingdom !!

Старый 13.03.2012, 01:28
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 4  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Следите за руками

Код AS3:
if (ExternalInterface.available){ 
 
      //Подсовываем яваскрипту наш метод someTestJavaInput, но говорим что он называется test
      ExternalInterface.addCallback("test", someTestJavaInput);
 
      //Вызываем яваскриптовый метод test.
      //Но не тот test, который уже объявлен для элемента с флешкой
      //и который на самом деле наш someTestJavaInput,
      //а который в глобальной области видимости, т.е. window.test
      ExternalInterface.call("test")
 }
А теперь js:
Код AS3:
//Объявляем window.test - тот самый, который у нас вызовется из флеша
function test(){	
 
    //Находим нашу флешку
    var testSwf = document.getElementById('testfacebook');
 
    //Вызываем у нее метод someTestJavaInput, которого у нее вообще-то нет,
    //потомучто для яваскрипта мы экспортировали метод под названием test
    testSwf.someTestJavaInput("777");
 
    //Вот он, вот он вызов моей мечты!
    testSwf.test("777");
 
};
__________________
тонкий тролль, осеянный благодатью

Старый 13.03.2012, 11:40
Sacha вне форума Посмотреть профиль Отправить личное сообщение для Sacha Найти все сообщения от Sacha
  № 5  
Ответить с цитированием
Sacha

Регистрация: Jul 2009
Сообщений: 20
Вот если бы в мануалах было так понятно и ясно, цены бы им небыло
Спасибо, бегу пробовать!

Добавлено через 2 минуты
О да!
Работает еще как!

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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