关闭浏览器无法使用Flex 4.6在Mozilla Firefox或Google Chrome上运行

时间:2013-05-05 06:32:05

标签: javascript flex flash-builder flex4.5 flexbuilder

我正在使用Flash Builder 4.6,创建Flex应用程序。我正在尝试使用flex 4.6代码关闭浏览器。这是在Internet Explorer上工作但在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)"/>

2 个答案:

答案 0 :(得分:0)

我发现浏览器在解释navigateToURL的第二个参数时不一致。

如果您的swf不在html框架中,您可以使用“_top”而不是“_self”(它可以在浏览器中使用):

navigateToURL(url,"_top");

或者完全省略第二个参数(因为默认与目标“_self”相同):

navigateToURL(url);

答案 1 :(得分:0)

大多数浏览器都不允许您要求的内容,并且有充分的理由。您将不得不利用错误或黑客来实现它......

一个流行的方法是在javascript中刷新并关闭它:

window.open('','_ self',''); window.close()的;

我的建议是,不要这样做。