ActionScript3にて各ブラウザのポップアップブロック回避用
SafariのポップアップブロックとIEでのポップアップブロックの回避方法が異なるため
ブラウザを判別して開き方を変更する。
動作検証:Firebox3.6.3 IE8 Safari4.0.4 google chrome4.1.248.1064
いったんメモ
import flash.external.ExternalInterface;
/**
* ExternalInterface.callにてユーザーエージェント取得用のJavaScriptを実行
*/
var agent:String = String(ExternalInterface.call("function getBrowser(){return navigator.userAgent;}"));
/*
* TextLoader(独自カスタムクラス)
*/
//var te:TextLoader = new TextLoader({text:agent,autoSize:"LEFT"});
//addChild(te);
/**
* ユーザーエージェントの内容で処理を分岐
* 判別は「agent.indexOf("Safari")」だけでいいのだが一応「agent.indexOf("safari")」も評価
*/
if (agent.indexOf("Safari") != -1 || agent.indexOf("safari") != -1) {
//Safari用処理
navigateToURL("./index.html", "_blank");
} else {
//Safari以外の処理
ExternalInterface.call("window.open", "http://www.google.com/", "_blank");
}