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;
        }
    }
}

 

版权声明:本文为lost-1987原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lost-1987/articles/3497795.html