解决flash web浏览器弹出窗口被拦截的问题

package com.ylsoft.lib{
    import flash.external.ExternalInterface;
    import flash.net.URLRequest;
    import flash.net.navigateToURL;
    
    public class WebWindow {
        public function openWindow(url:String, window:String="_blank", features:String=""){
            
            var WINDOW_OPEN_FUNCTION:String = "window.open";
            var myURL:URLRequest = new URLRequest(url);   
            var browserName:String = getBrowserName();
            
            if(getBrowserName() == "maxthon"){
                navigateToURL(myURL, window);
            }
                //If IE, 
            else if(browserName == "firefox"){
                navigateToURL(myURL, window);
            }
                //If Safari 
            else if(browserName == "chrome"){

         ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
            }
                //If Opera 
            else if(browserName == "msie"){ 
                ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
            } 
            else if(browserName == "safari"){
                ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
            }
            else {
                navigateToURL(myURL, window);
            }
            
            /*Alternate methodology...
            var popSuccess:Boolean = ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
            if(popSuccess == false){
            navigateToURL(myURL, window);
            }*/
            
        }
        private function getBrowserName():String{
            var browser:String;
            
            //Uses external interface to reach out to browser and grab browser useragent info.
            var browserAgent:String = ExternalInterface.call("function getBrowser(){return navigator.userAgent.toLowerCase();}");
            
            // Debug.text += "Browser Info: [" + browserAgent + "]";
            
            //Determines brand of browser using a find index. If not found indexOf returns (-1).
            if(browserAgent != null && /(.*)maxthon(.*)/.test(browserAgent)) {
                browser = "maxthon";
            } 
            else if(browserAgent != null && /(.*)firefox(.*)/.test(browserAgent)){
                browser = "firefox";
            }    
            else if(browserAgent != null && /(.*)chrome(.*)/.test(browserAgent)){
                browser = "chrome";
            }   
            else if(browserAgent != null && /(.*)msie(.*)/.test(browserAgent)){
                browser = "msie";
            }
            else if(browserAgent != null && /(.*)mozilla(.*)/.test(browserAgent) && !/(.*)firefox(.*)/.test(browserAgent) && !/(.*)chrome(.*)/.test(browserAgent) && !/(.*)msie(.*)/.test(browserAgent)){
                browser = "safari";
            }
            
            return browser;
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值