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

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

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

Регистрация: Apr 2012
Сообщений: 80
По умолчанию Как связать flash и javascript?

Существует ли возможность вызывать JavaScript из Flash, подобно действиям onclick и onhover? Задача заключается в том, чтобы связать клик и наведение мыши на flash с изменениями на странице, включая вызов вплывающих окон.

Старый 26.04.2012, 15:33
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Разумеется, это несложно, поскольку существует метод ExternalInterface.call.
Просто пишете вызов:

Код AS1/AS2:
import flash.external.*;
ExternalInterface.call('JSfunction');
Ей можно и аргументы передать:
Код AS1/AS2:
ExternalInterface.call('JSfunction', 'arg1', 'arg2');
Тестировать нужно на сервере. Либо воспользоваться этим методом.
__________________
Идите первым!


Последний раз редактировалось mooncar; 26.04.2012 в 15:38.
Старый 27.04.2012, 11:16
dkart01 вне форума Посмотреть профиль Отправить личное сообщение для dkart01 Найти все сообщения от dkart01
  № 3  
Ответить с цитированием
dkart01

Регистрация: Apr 2012
Сообщений: 80
Спасибо!

Добавлено через 5 часов 6 минут
Подскажите, почему, тестируя метод ExternalInterface.call, при использовании onPress у кнопки, её после алерта приходиться нажимать два раза, а при onRelease всегда один.

Прилагаю исходник (чтобы сработало локально на Win 7 - тыкните правой кнопкой мыши на флешку - глобальные настройки - дополнительно - настройка доверенной папки - добавить папку с флешкой и перезапустить бразуер)

Кратко говоря, похоже onPress деактивирует флешку.
Вложения
Тип файла: zip most.zip (10.8 Кб, 37 просмотров)


Последний раз редактировалось mooncar; 27.04.2012 в 16:27.
Старый 27.04.2012, 16:30
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Необходимо прикреплять исходники к сообщению.
2. По существу точно сказать не могу, возможно как-то связано с установкой и потерей флешкиным объектом на странице фокуса.
__________________
Идите первым!

Старый 27.04.2012, 17:42
dkart01 вне форума Посмотреть профиль Отправить личное сообщение для dkart01 Найти все сообщения от dkart01
  № 5  
Ответить с цитированием
dkart01

Регистрация: Apr 2012
Сообщений: 80
А можно ли поместить не название функции и параметры, я языковую конструкцию. Например, onclick="return hs.htmlExpand(this, { objectType: 'ajax'} )"

Добавлено через 22 минуты

1) Кнопку приккрепления исходников не обнаружил ((( сразу, только после прочтения Helpa узнал о расширенном режиме.


Последний раз редактировалось dkart01; 27.04.2012 в 18:05.
Старый 27.04.2012, 18:09
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Можно. Ну только onclick - это атрибут элемента на странице, а во флеше вы пишите просто вызов, например, так:

Код AS1/AS2:
ExternalInterface.call('function alertIt() { alert ("Можно языковую конструкцию"); }');
или даже можно function alertIt() {...} опустить...

Только, ИМХО, удобнее весь JavaScript держать на странице.
__________________
Идите первым!

Старый 27.04.2012, 18:10
dkart01 вне форума Посмотреть профиль Отправить личное сообщение для dkart01 Найти все сообщения от dkart01
  № 7  
Ответить с цитированием
dkart01

Регистрация: Apr 2012
Сообщений: 80
2) В Ie9 событие OnPress работает каждый клик, а вот в Opere И FF и Safari . только после двойного клика

Старый 27.04.2012, 18:15
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от dkart01 Посмотреть сообщение
2) В Ie9 событие OnPress работает каждый клик, а вот в Opere И FF и Safari . только после двойного клика
Используйте onRelease.
Либо создайте другую тему, если хотите разобраться. На форуме правило: одна тема - один вопрос. Только в теме опишите все обстоятельства.
__________________
Идите первым!

Старый 28.04.2012, 13:52
dkart01 вне форума Посмотреть профиль Отправить личное сообщение для dkart01 Найти все сообщения от dkart01
  № 9  
Ответить с цитированием
dkart01

Регистрация: Apr 2012
Сообщений: 80
Понял. Благодарю за оперативность.

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

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

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


 


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


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