【问题标题】:Closing Browser not work on Mozilla Firefox or Google Chrome using Flex 4.6关闭浏览器不适用于使用 Flex 4.6 的 Mozilla Firefox 或 Google Chrome
【发布时间】:2013-04-29 05:18:55
【问题描述】:

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

【问题讨论】:

  • 这更像是一个 JavaScript 问题,而不是一个 Flex 问题。看起来 IE 是唯一将当前窗口分配给 window 变量的窗口。

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


【解决方案1】:

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

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

navigateToURL(url,"_top");

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

navigateToURL(url);

【讨论】:

  • 感谢我的回复,但我的问题没有解决。您的两个建议都不适用于 google chrome 或 Firefox。
【解决方案2】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2016-12-30
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    相关资源
    最近更新 更多