【问题标题】:how to close web page in the flash如何在flash中关闭网页
【发布时间】:2013-08-05 10:44:06
【问题描述】:

当用户单击 Flash 中的按钮时,我想关闭网页。这是我使用的代码

        public static function close():void{
//          ExternalInterface.call("window.close()");
            navigateToURL(new URLRequest("javascript:window.close();"),"_self");
        }

这种方法现在似乎已经过时了。它仅适用于本地页面,使用 file:/// 访问,但以远程方式访问它,代码没有给我 **,甚至没有抛出安全错误。什么我想做什么?

【问题讨论】:

  • 它可能出于安全原因被禁用,当 Flash 广告关闭您的窗口时,它并不是很酷..
  • 您可以尝试ExternalInterface.call('window.close'),但不确定是否可行(@MightyPork 提到的安全原因)
  • 我能做些什么吗?
  • 不,我不认为你可以。我猜这是一个安全问题。 Chrome 允许这样做,但例如,Firefox 不允许。

标签: javascript actionscript-3 web


【解决方案1】:

更新:

很遗憾,这对 Firefox 没有帮助。问题不在于 actionscript,而在于 firefox 处理 window.close() 函数的方式。您可以通过尝试直接从 javascript 调用 window.close() 来简单地复制此操作,而无需任何操作脚本。这是一个安全限制。这里有一些相关的问题、答案和可能的解决方案:

Close windows that were not opened by script using javascript

这里:

How can I close a window with Javascript on Mozilla Firefox 3?

更新结束


我确信这是一个安全问题。 看看控制台,是不是有类似下面的东西?

脚本不能关闭不是由脚本打开的窗口。 @javascript:window.close();

我建议在 javascript 中创建一个函数,该函数将关闭窗口并使用外部接口调用此函数。像这样的:

JS:

function closeWindow() {
   ...
}

作为:

if(ExternalInterface.available) {
  ExternalInterface.call("closeWindow");
}

【讨论】:

  • 可能是"allowScriptAccess=true" 可以帮忙吗?
猜你喜欢
  • 2014-10-08
  • 1970-01-01
  • 2012-11-10
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多