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