Ext JS には、Ext.isXXXというメソッドがExtクラスに実装されていました。今回のExt.isは、それとは別物です。このExt.isクラスはシングルトンパターンで実装されているため、生成することなく利用開始することが可能です。
また、おそらくSencha Touchと同一コアを利用する前提で設計されているため、iPhone/iPad/Androidなどスマートフォン端末の判定も行うことができます。
判定用のプロパティ一覧
Ext.isクラスは、メソッドは特になくプロパティを参照するためのクラスです。動作環境の情報を取得するクラスです。
では、判定ができる項目を一覧化します。
Ext.is.Desktop | デスクトップ判定、Windows,Mac,Linux上で動作している場合にtrueが設定されます。 | |
---|---|---|
Ext.is.Tablet | タブレット判定、iPad上で動作している場合にtrueが設定されます。他にもAndroidタブレットもあるのに、iPadの時のみtrueにしているのは謎です。 | |
Ext.is.Phone | 電話機判定、デスクトップでなく、iPadで内場合にtrueが設定されます。 | |
Ext.is.iOS | iPhone/iPad/iPod上で動作している場合にtrueが設定されます。 | |
Ext.is.Standalone | スタンドアローン判定。モバイルSafariのフルスクリーンモードでない場合にtrueが設定されます。window.navigator.standaloneで判断しています。 |
プラットフォーム判定
上記の判定以外に、プラットフォーム判定が用意されています。
説明は、いいですね・・名前でわかるはずです。
- Ext.is.iPhone
- Ext.is.iPad
- Ext.is.Blackberry
- Ext.is.Android
- Ext.is.Mac
- Ext.is.Windows
- Ext.is.Linux
まぁ、Ext JS 4 自体をスマートフォンにそのまま読み込ませるのは、ちょっと大きすぎると思いますし、そこはSencha Touchの出番なんですが
Ext Platformと呼ばれる、Extコア部分が共通化されていっているのが垣間見れますね。
Ext.isクラスを利用した判定