Flex: всплывающее окно браузера, а не всплывающее окно типа Alert.show ()? - PullRequest
0 голосов
/ 06 июля 2011

Я пытаюсь создать всплывающее окно браузера с некоторым текстом, а не использовать всплывающие окна уровня Alert.show () или Flash Player.

Я осматривался и пробовал кое-что с помощью URI Data Scheme, но подумал, что один из вас, ребята, мог сделать что-то подобное раньше.

ОБНОВЛЕНИЕ: Ответил ниже

Ответы [ 3 ]

1 голос
/ 06 июля 2011

Вы можете использовать API externalInterface Flex для вызова функций JavaScript.и, таким образом, вызвать новое всплывающее диалоговое окно.

http://learn.adobe.com/wiki/display/Flex/External+Interface

http://www.quirksmode.org/js/popup.html

http://blog.flexexamples.com/2008/03/09/calling-javascript-functions-from-your-flex-applications-using-the-externalinterface-api/

ОБНОВЛЕНИЕ:

var urlstr:String = "javascript:NewWindow=window.open('"+<any string> +"','newWin','width=400,height=300,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');  NewWindow.focus();void(0);");

    var url:URLRequest = new URLRequest(urlstr);
0 голосов
/ 07 июля 2011

Следующий код помогает:

<fx:Script>
    <![CDATA[
        import flash.net.navigateToURL;

        private function urlJump():void{

            var url:URLRequest = new URLRequest("javascript:NewWindow=window.open(''," +
                "'newWin','width=400,height=300,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');  " +
                "NewWindow.focus();void(0); " +
                "NewWindow.document.write('hello');");

            navigateToURL(url, "_self" );

        }           
    ]]>
</fx:Script>
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<s:Button click="urlJump()" />

0 голосов
/ 06 июля 2011

И вы хотите, чтобы окно Flex оставалось открытым и просто открывало новое, верно?Насколько я помню, это невозможно с Flash, так как он должен проходить через Javascript (window.open), однако, вы можете вызвать его напрямую, используя ExternalInterface:

if (ExternalInterface.available) 
{
   ExternalInterface.call("window.open", "http://www.adobe.com", "win", "height=200,width=300,toolbar=no,scrollbars=yes");
}

Что касается URL, вы можете указать свои или , используя схему данных uri, и она должна работать.

...