Skip to content

Instantly share code, notes, and snippets.

@RhinoLu
Created June 26, 2012 07:15
Show Gist options
  • Save RhinoLu/2994028 to your computer and use it in GitHub Desktop.
Save RhinoLu/2994028 to your computer and use it in GitHub Desktop.
navigateToURL IE 上快顯封鎖問題 by 羊小咩
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