This site requires flash player 9 or later.
package util
{
import flash.external.ExternalInterface;
import flash.net.navigateToURL;
import flash.net.URLRequest;
/**
* ウィンドウオープン
*
*/
public class WindowOpener
{
//----------------------------------
// variable
//----------------------------------
public static const IE:String = "ie";
public static const FIREFOX:String = "firefox";
public static const CHROME:String = "chrome";
public static const SAFARI:String = "safari";
public static const OPERA:String = "opera";
//--------------------------------------------------------------------------
//
// method
//
//--------------------------------------------------------------------------
/**
* ウィンドウを開く
*
* @param url - 新しく開かれるウィンドウでロードされるURL。
* @param windowName - 新しいウィンドウの名前。
* @param features - オプション。
*/
public static function open(url:String, windowName:String = "", features:String = ""):void
{
var browserType:String = WindowOpener.browserType(); //ブラウザの種類
var href:String = new String(); //リンクurl
href = url;
if (browserType != WindowOpener.SAFARI && browserType != null && ExternalInterface.available) ExternalInterface.call("window.open", href, windowName, features);
else navigateToURL(new URLRequest(href), windowName || "_blank");
}
/**
* ブラウザの種類を取得する
*
* @return ブラウザの種類
*/
public static function browserType():String
{
var agent:String = ExternalInterface.call('function(){return navigator.userAgent;}'); //jsのuserAgnetを取得
var type:String; //ブラウザの種類
if(agent.indexOf("MSIE") >= 0) type = IE; //sleipnir, lunascape含む
else if(agent.indexOf("Firefox") >= 0) type = FIREFOX;
else if(agent.indexOf("Chrome") >= 0) type = CHROME;
else if(agent.indexOf("Safari") >= 0) type = SAFARI;
else if(agent.indexOf("Opera") >= 0) type = OPERA;
return type;
}
}
}