0

我试图创建一个带有一些文本的浏览器弹出窗口,而不是使用 Alert.show() 或 Flash Player 级别的弹出窗口。

我一直在环顾四周,并尝试了一些使用 URI 数据方案的东西,但认为你们中的一个人以前可能做过类似的事情。

更新:在下面回答我自己

4

3 回答 3

1

您可以使用 Flex 的 externalInterface API 来调用 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);
于 2011-07-06T16:12:01.457 回答
0

您希望 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 数据方案,它应该可以工作。

于 2011-07-06T16:26:10.273 回答
0

以下代码可以解决问题:

<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()" />

于 2011-07-07T08:27:24.913 回答