ActionScript 3: Alert для Flash

Часто , при разработке флеш- приложений в скриптовом языке ActionScript 3 , требуется проинформировать пользователя о результате работы.
Это можно сделать внутри самого приложения в текстовом поле написав, например, об ошибке. Можно искать способы всплывающего окна внутри рабочей области флеш ролика.

Мы же, сегодня, обратимся к проверенному временем способу информировать посетителя о том или ином событии. А именно с помощью всплывающего окна Alert (известного всем кто имел дела с сценариями JavaScript).
Наша задача наладить взаимодействие между flash – приложением и веб- страницей. С веб- страницы и начнем.

Обычно окно alert можно вызвать следующем образом:
<script>
alert('Привет мир!');
</script>

Либо, если необходимо открыть alert при нажатии на сылку HTML код будет следующим:
<a href="javascript:alert('Привет мир!');">окно Alert</a>
Можно посмотреть как это работает. Оказывается похожей приём можно использовать и во flash приложениях.

AS3 скрипт для открытия alert окна подобного javascript , выглядит следующим образом:
import flash.events.MouseEvent; /* импортируем стандартный обработчик событий */
import flash.net.URLRequest; /* стандартная библиотека которая, в обычных условиях, способна открывать URL страницы */
/* пишем функцию открывающую alert окно , с заданным сообщением mess */
function popUpAlert(mess:String):void
{
var TheAlert:URLRequest = new URLRequest("javascript:alert('"+mess+"');"); /* вместо URL адреса , такого как http://weblomaster.ru используется конструкция javascript: для вызова произвольной javascript функции ; в нашем случае функции alert(); это ложный "url-адрес" записываем в переменную TheAlert */
navigateToURL(TheAlert, "_self"); /* вызываем нашу ложную URL ссылку TheAlert с указанием цели (target) _self , которая указывает на то, что волшебство должно произойти в том же окне, где расположено flash приложение */
}
function alertOnClick(e:MouseEvent):void
{
popUpAlert("Flash передает привет веб странице!"); /* функция, реагирующая на события мыши, с помощью которой мы передадим определенный текст в ранее написанную функцию  popUpAlert */
}
alertButton.addEventListener(MouseEvent.MOUSE_UP, alertOnClick); /* при нажатии на кнопку alertButton запускается функция alertOnClick */

Вот как это должно работать:

 

Опубликовано 08.04.2014 в 16:50 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: ActionScript 3 (AS3), Javascript · Теги: , , , , ,