在flash中打开链接时绕过IE弹出窗口拦截器?

在flash中打开链接时绕过IE弹出窗口拦截器?,flash,actionscript-3,Flash,Actionscript 3,这是我用来绕过弹出窗口拦截器的类 这是调用类函数的函数 function linkHandler(e:MouseEvent):void{ popup.ChangePage(linksURLArray[e.currentTarget.name], "_self"); } 这是一节课 package com.dbd.external { import flash.external.ExternalInterface; import flash.net.*; public c

这是我用来绕过弹出窗口拦截器的类

这是调用类函数的函数

function linkHandler(e:MouseEvent):void{
popup.ChangePage(linksURLArray[e.currentTarget.name], "_self");
}
这是一节课

package com.dbd.external {
    import flash.external.ExternalInterface;
    import flash.net.*;
    public class PassPopup {
        public function ChangePage(url:*, window:String = "_blank"):void {
            var req:URLRequest = url is String ? new URLRequest(url) : url;
            if (!ExternalInterface.available) {
                navigateToURL(req, window);
            } else {
                var strUserAgent:String = String(ExternalInterface.call("function() {return navigator.userAgent;}")).toLowerCase();
                if (strUserAgent.indexOf("firefox") != -1 || (strUserAgent.indexOf("msie") != -1 && uint(strUserAgent.substr(strUserAgent.indexOf("msie") + 5, 3)) >= 7)) {
                    ExternalInterface.call("window.open", req.url, window);
                } else {
                    navigateToURL(req, window);
                }
            }
        }
    }

} 

我正在本地工作,并尝试从外部链接到另一个域。

请确保将其包含在您的AS代码中。ExternalInterface要求在执行HTML-SWF交叉脚本时设置allowDomain,即使它是浏览器本地的

System.security.allowDomain("*");
另外,请确保在Flash嵌入HTML中添加以下内容

allowscriptaccess="always" 
如果不起作用,则添加一个crossdomain.xml,如下所示:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

我会把它放在我的主AS类还是弹出类中?将allowscriptaccess=“always”添加到HTML中的Flash嵌入标记中。我现在正在测试服务器上在线尝试,但我仍然得到弹出阻止程序。这和我使用空格时不一样。这个答案是针对一个完全不同的问题,对弹出窗口拦截器没有任何作用。我自己还在寻找这个问题的答案。我试图帮助解决的问题是在本地主机上调用外部接口的问题。原来问题中给出的代码还有另一个问题。如果你想知道你的问题的答案,那么把它和你的代码一起贴出来。
System.security.loadPolicyFile("http://yourdomain.com/crossdomain.xml");