2013-05-05 109 views
1

我正在使用Flash Builder 4.6創建Flex應用程序。我正在嘗試使用Flex 4.6代碼關閉瀏覽器。這是在Internet Explorer上工作,但不適用於Mozilla Firefox或Google Chrome。我的代碼是在這裏使用Flex 4.6關閉瀏覽器無法在Mozilla Firefox或Google Chrome上工作

<?xml version="1.0"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"  
     xmlns:mx="library://ns.adobe.com/flex/mx"  
      xmlns:s="library://ns.adobe.com/flex/spark"> 

<fx:Script> 
    <![CDATA[ 
protected function btnClose_clickHandler(event:MouseEvent):void 
     { 
      var url:URLRequest = new URLRequest("javascript:window.close()"); 
      navigateToURL(url,"_self");    
     } 

    ]]> 
</fx:Script> 
<s:Button id="btnClose" x="44" y="47" label="Close Browser" click="btnClose_clickHandler(event)"/> 

+0

這是一個JavaScript問題而不是Flex問題。它看起來像IE是唯一將當前窗口分配給window變量的窗口。 – RIAstar 2013-05-05 09:30:38

回答

0

香港專業教育學院發現,瀏覽器是在解釋的navigateToUrl的第二個參數不一致。

如果您的SWF是不是在一個HTML框架,你可以使用「_top」,而不是「_self」(它跨瀏覽器的工作):

navigateToURL(url,"_top"); 

或者只是離開了第二個參數完全(如默認是一樣的目標定位「_self」):

navigateToURL(url); 
+0

感謝我的回覆,但我的問題沒有解決。您的兩條建議都不適用於Google Chrome或Firefox。 – 2013-05-06 03:36:07

0

你問什麼在大多數瀏覽器是不允許的,並有很好的理由。你將不得不利用錯誤或黑客以達到它...

最常見的一個是刷新並在javascript關閉它:

window.open(「」,「_self」,「」); window.close();

我的建議是,不要這樣做。

相關問題