我尝试使用一些文本创建一个浏览器弹出窗口,而不是使用Alert.show()或Flash Player级别弹出窗口。
我一直在环顾四周,尝试过使用URI数据方案的一些东西,但是你们其中一个人可能以前做过类似的事情。
更新:自己回答
答案 0 :(得分:1)
您可以使用Flex的externalInterface API来调用javascript函数。从而触发一个新的弹出对话框。
http://learn.adobe.com/wiki/display/Flex/External+Interface
http://www.quirksmode.org/js/popup.html
更新:
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);
答案 1 :(得分: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");
}
至于网址,您可以指定自己的或使用uri数据方案,它应该有用。
答案 2 :(得分: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()" />