2011-07-06 70 views
0

我試着去創建一個瀏覽器彈出窗口有一些文本,而不是使用Alert.show()或Flash播放器的水平彈出。Flex:瀏覽器彈出而不是Alert.show()類型彈出?

我一直在四處尋找,並嘗試一些東西與URI數據計劃,但以爲你們一人可能以前做過類似的事情。

UPDATE:回答我自己下面

+1

是否有在SWF文件被 '指定'?我的方法是在html/javascript中完成所有代碼,並使用ExternalInterface使Flex調用JavaScript函數來打開窗口。 –

+0

@J_A_X - 是的,有在SWF中指定它 - 這就是一切都在這一點上編輯 - 更新JS是不是一個真正的選擇。 。據我從上面迄今所做的,Im相當肯定它是可行的 - 只是不太JS悟性 – Ryan

回答

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

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/

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

感謝那個,但加入JS代碼的html頁面是不是一個真正的選擇 - 這就是爲什麼即時尋找一個僅限Flex解​​決方案。謝謝無論如何 – Ryan

+0

你不'需要添加JS代碼到HTML頁面。你可以在你的AS3/MXML中擁有JS代碼。 – Satish

+0

哦,是的,更新了我的問題 - 越來越接近我想要 – Ryan

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數據方案,它應該工作。

+0

嘿,把一個回答我的問題發現 - 正常工作在Firefox中,只需要測試Chrome和IE現在 – Ryan

+0

你只需回答你自己的問題,並接受它:) –