Created
June 26, 2012 07:15
-
-
Save RhinoLu/2994028 to your computer and use it in GitHub Desktop.
navigateToURL IE 上快顯封鎖問題 by 羊小咩
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package | |
{ | |
import flash.external.ExternalInterface; | |
import flash.net.URLRequest; | |
import flash.net.navigateToURL; | |
/** | |
* http://blog.lamb-mei.com/2012/06/navigatetourl-ie.html | |
* @author 羊小咩 | |
*/ | |
public class URLUtils | |
{ | |
public static const BROWSER_IE:String = "IE"; | |
public static const BROWSER_FF:String = "FF"; | |
public static const BROWSER_CHROME:String = "CHROME" | |
public static const BROWSER_OPERA:String = "OPERA" | |
public static const BROWSER_SAFARI:String = "SAFARI" | |
public static const BROWSER_UNKNOWN:String = "UNKNOWN" | |
protected static const WINDOW_OPEN_FUNCTION:String = "window.open"; | |
/** | |
* @param url | |
* @param window | |
*/ | |
public static function openWindow(url:String, window:String = "_blank"):void | |
{ | |
var browserName:String = getBrowserName(); | |
var isFF = browserName == BROWSER_FF | |
var isIE = browserName == BROWSER_IE | |
var isChrome = browserName == BROWSER_CHROME | |
var isOpera = browserName == BROWSER_OPERA | |
var isSafari = browserName == BROWSER_SAFARI | |
var isUnknown = browserName == BROWSER_UNKNOWN | |
trace("isFF", isFF) | |
trace("isIE", isIE) | |
trace("isChrome", isChrome) | |
trace("isOpera", isOpera) | |
trace("isSafari", isSafari) | |
trace("isUnknown", isUnknown) | |
if (!ExternalInterface.available) | |
{ | |
navigateToURL(new URLRequest(url), window); | |
return | |
} | |
if (isIE) | |
{ | |
ExternalInterface.call(WINDOW_OPEN_FUNCTION, url); | |
} | |
else | |
{ | |
//ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window); | |
navigateToURL(new URLRequest(url), window); | |
} | |
} | |
public static function getBrowserName():String | |
{ | |
var browser:String; | |
var browserAgent:String = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}"); | |
if (browserAgent != null && browserAgent.indexOf("Chrome") >= 0) | |
{ | |
browser = BROWSER_CHROME; | |
} | |
else if (browserAgent != null && browserAgent.indexOf("Firefox") >= 0) | |
{ | |
browser = BROWSER_FF; | |
} | |
else if (browserAgent != null && browserAgent.indexOf("Safari") >= 0) | |
{ | |
browser = BROWSER_SAFARI; | |
} | |
else if (browserAgent != null && browserAgent.indexOf("MSIE") >= 0) | |
{ | |
browser = BROWSER_IE; | |
} | |
else if (browserAgent != null && browserAgent.indexOf("Opera") >= 0) | |
{ | |
browser = BROWSER_OPERA; | |
} | |
else | |
{ | |
browser = BROWSER_UNKNOWN; | |
} | |
return browser; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment