2011-07-06 14 views
0

Alert.show()またはFlash Playerレベルのポップアップを使用するのではなく、テキストでブラウザのポップアップウィンドウを作成しようとしています。Flex:Alert.show()タイプのポップアップではなくブラウザのポップアップですか?

私は周りを見ていて、URIデータスキームでいくつかのことを試しましたが、皆さんの一人は以前と同じようなことをしたかもしれないと思いました。

UPDATE:あなたはjavascriptの関数を呼び出すためにFlexのはExternalInterface APIを使用することができます

+1

持っていますか?私のアプローチは、すべてのコードをhtml/javascriptで行い、FlexがExternalInterfaceを使用してjavascript関数を呼び出してウィンドウを開くようにすることです。 –

+0

@J_A_X - ええ、swfで指定する必要があります - この時点ですべてが編集されていました.JSを更新することは本当にオプションではありません。そのためだけではない非常にJS精通 – Ryan

答えて

0

次のコードでは、トリックん:それはswfファイルに '指定' することが

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

1

下に自分に答えました。新しいポップアップダイアログを表示させることができます。

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/

UPDATE:

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

おかげではなく、HTMLページにJSコードを追加すると、本当にオプションではありません - - IVEは、これまで以上から行われたものから、イムはかなり確信して、それはなんとかのIMは、Flex唯一の解決策を探している理由のthats。どうもありがとう – Ryan

+0

JSコードをhtmlページに追加する必要はありません。 AS3/MXML自体にJSコードを含めることができます。 – Satish

+0

ああ、ええ、私の質問更新 - ねえ、私は質問で見つかった答えを入れて、私は – Ryan

0

そして、あなたは、Flexウィンドウが開いたままにしてちょうど新しいものをポップアップしたいですか?あなたは、URLについては

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

:それはしかし、Javascriptの(window.open)を通過する必要があるので、私が覚えているから、これはあなたがのExternalInterfaceを使用して、直接それを呼び出すことができるかもしれない、フラッシュでは不可能です独自のまたはを指定すると、uriデータスキームを使用できます。

+0

上記の私の答えを更新したいものに近づいを - Firefoxで正常に動作し、ちょうどChromeとIEをテストする必要があり、今 – Ryan

+0

あなたは答える必要がありますあなた自身の質問とそれを受け入れる:) –

関連する問題