1

我正在使用 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)"/>

4

2 回答 2

0

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

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

window.open('', '_self', ''); 窗口.close();

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

于 2013-05-07T23:25:21.387 回答
0

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

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

navigateToURL(url,"_top");

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

navigateToURL(url);
于 2013-05-05T20:42:02.233 回答