ActionScriptだけではブラウザの情報が得られなかったため、JavaScriptでブラウザ情報を判別させるファンクションを作って、それをExternalInterfaceクラスを使用して呼ぶようにした。
判別は結構適当。
だって、Firefoxかどうか分かればイイのだから。
そういう意味ではisFirefox()でも良かったかも。
Flexプロジェクトにある html-template/index.template.htmlファイルに以下を追記する。
<script language="JavaScript" type="text/javascript">
<!--
function getBrowserType() {
if(navigator.userAgent.indexOf("msie") != -1) {
return "ie";
} else if(navigator.userAgent.indexOf("firefox") != -1) {
return "firefox";
} else if(navigator.userAgent.indexOf("chrome") != -1) {
return "chrome";
} else {
return "other";
}
}
// -->
</script>
Flex側からは下記のように呼び出す。
ExternalInterface APIがブラウザでサポートされているかavailableプロパティで確認するのはお約束。
下記のサンプルでは、その後はExternalInterface.call()メソッドの戻り値をAlert.show()で表示している。
if(ExternalInterface.available) {
var browserType:String = ExternalInterface.call("getBrowserType");
Alert.show(browserType);
}
0 件のコメント:
コメントを投稿