0

特定のイベントがトリガーされるとアラートウィンドウがポップアップするAdobeFlashBuilderを使用してアプリを開発しています。アラートボックスが閉じているときに、別のイベントを呼び出す必要があります。しかし、mx.controlsライブラリにAlertクラスが表示されません。(AS2に存在していた)クラスがAS3から削除されたようです。同じ機能を実現する他の方法はありますか?

ありがとう、Pritesh

4

3 に答える 3

0

アラートコントロールのcloseHandlerを定義する必要があります。ここからActionScript3.0リファレンスAPIをチェックアウトしますhttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/Alert.html#show()

于 2012-05-16T16:39:04.120 に答える
0

外部インターフェイスを使用します。

import flash.external.ExternalInterface;

// tell flash what javascript function to listen for, and what flash function to call in response
ExternalInterace.addCallback('onAlertWindowClosed', onPopupClosed);

function openPopUp():void
{
    // this conditional prevents errors when running local (yes, this needs uploaded to work)
    if(ExternalInterface.available)
    {
        // this calls a javascript function in your html
        ExternalInterface.call('myJavascriptAlertFuntion');
    }
}

// this function is called from the javascript callback **onAlertWindowClosed**
function onPopupClosed():void
{
    // do something when your popup closes
}

そしてhtmlで:

<script type="text/javscript>

// this chunk gets the flash object so you can call its methods
function getFlashMovieObject(movieName)
{
    if (window.document[movieName])
    {
        return window.document[movieName];
    }

    if (navigator.appName.indexOf("Microsoft Internet") == -1)
    {
        if (document.embeds && document.embeds[movieName])

        return document.embeds[movieName];
    }
    else
    {
        return document.getElementById(movieName);
    }
}

// function that is called from flash
function myJavascriptAlertFuntion()
{
    alert("Hey!  Yeah you there!");
}

// call this when you want to tell flash you are closing your popup
function tellFlashMyPopupWindowClosed()
{
    // **flashContainer** should be replaced by the name parameter of your flash embed object
    var flashMovie = getFlashMovieObject("flashContainer");
    flashMovie.onAlertWindowClosed();
}

</script>
于 2012-05-16T23:08:22.700 に答える