スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

AS3でブラウザ判定をしたかったので、調査メモです。

ActionScriptはクライアントで動作するスクリプトなので、ブラウザ情報を取得できるはず、ということで調べてみました。
結果、どうやらActionScript自体にはブラウザを判定するクラスは用意されていないようです。その代わり、外部APIとやりとりするための「ExternalInterface」というクラスが用意されており、これを利用してJavaScriptの関数を呼び出したり、逆に呼ばれたりといった処理が実現できます。

具体的には、ブラウザを判定するために、JavaScriptの「window.navigator.userAgent」を呼び出します。

var res = ExternalInterface.call("window.navigator.userAgent.toLowerCase");
if (res.indexOf("msie") > -1) {
trace("Internet Explorerです");
} else if (res.indexOf("firefox") > -1) {
trace("Firefoxです");
} else if (res.indexOf("opera") > -1) {
trace("Operaです");
} else if (res.indexOf("chrome") > -1) {
trace("Google Chromeです");
} else {
trace("Otherです");
}

もう少し深く切り込めば、AS3とAjaxの連携もできそうですね。
いや、そもそもRIAを作るときはFlashかAjaxを選択するべきで、両者を連携させて構築するなんて、めんどくさそうですね。

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search