toxic

备忘录

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
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;
        }
    }
}

 

posted on 2013-12-30 15:08  toxic  阅读(597)  评论(0编辑  收藏  举报