Skip to content

Instantly share code, notes, and snippets.

@uupaa
Last active August 29, 2015 14:27
Show Gist options
  • Save uupaa/4694a299c6d04e2155c5 to your computer and use it in GitHub Desktop.
Save uupaa/4694a299c6d04e2155c5 to your computer and use it in GitHub Desktop.
Spec.js version 2.0.0 released.

Spec.js が太ってきたので、モジュール分割をし、version 2.0.0 に上げました。

WebApp や WebGame の開発用途には、これらを組み合わせた Spec.js を使い、
それ以外の軽めの用途では UserAgent.js をお使いください。

Spec.js とはなんぞや? という方は、以下をご覧ください。

Spec.js

動作環境に関する情報を、簡単に取得したいですよね?
どのブラウザで動作しているかとか、WebView で動作しているかとか。

WebGL 情報をお手軽に

WebGL 情報をお手軽に取得できると便利です。WebGLDetector.js で取れます。
実は、UserAgent.js は GPU 情報を元に iOS デバイスを判別しています。FingerPrinting という奴です。

<script src="WebModule.js"></script>
<script src="WebGLDetector.js"></script>
var wgl = WebGLDetector;

wgl.WEBGL_CONTEXT       // -> "wegbl2"
wgl.WEBGL_VERSION       // -> "WebGL 2.0 (OpenGL ES 2.0 Chromium)"
wgl.MAX_TEXTURE_SIZE    // -> 16384

UserAgent 情報をお手軽に

環境をお手軽に判定できると便利です。UserAgent.js がおすすめです。

<script src="WebModule.js"></script>
<script src="WebGLDetector.js"></script>
<script src="UserAgent.js"></script>
var ua = new UserAgent();

ua.OS                   // -> "iOS"
ua.OS_VERSION           // -> "8.1.0"
ua.BROWSER              // -> "Safari"
ua.BROWSER_ENGINE       // -> "WebKit"
ua.BROWSER_VERSION      // -> "8.0.0"
ua.USER_AGENT           // -> "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4"
ua.DEVICE               // -> "iPhone 5s"
ua.LANGUAGE             // -> "ja"
ua.WEB_VIEW             // -> false
ua.AOSP                 // -> false

デバイススペック情報をお手軽に

端末のハードウェア情報をお手軽に取得できると便利です。Spec.js がおすすめです。
Spec.js を使うと、国内キャリアから発売済みのロースペ端末を断捨離できます。何か良い事に使えそうですね。

<script src="WebModule.js"></script>
<script src="WebGLDetector.js"></script>
<script src="UserAgent.js"></script>
<script src="Spec.js"></script>
var ua = new UserAgent();
var spec = new Spec(ua);

spec.UNKNOWN            // -> false
spec.SOC                // -> "APQ8064"
spec.GPU                // -> "ADRENO 320"
spec.RAM                // -> 2048
spec.BLE                // -> true
spec.NFC                // -> true
spec.ATOM               // -> false
spec.SIMD               // -> true
spec.MAX_THREADS        // -> 4
spec.MAX_TOUCH_POINTS   // -> 10
spec.LOW_END            // -> false
spec.OUTMODED           // -> false

WebModule

WebGLDetector.js, UserAgent.js, Spec.jsWebModule で出来ています。

ご利用には WebModule が必要です。

$ cd workspace
$ git clone [email protected]:uupaa/WebModule.git
$ git clone [email protected]:uupaa/FooBar.js.git
$ cd FooBar.js
$ node ../WebModule/run/setup
$ npm install --save uupaa.spec.js
$ npm run sync
$ npm start
$ npm t
$ tree -d
.
├── FooBar.js
│   ├── lib
│   ├── node_modules
│   │   └── uupaa.spec.js
│   │       ├── lib
│   │       ├── node_modules
│   │           ├── uupaa.useragent.js
│   │           │  ├── lib
│   │           └── uupaa.webgldetector.js
│   │              ├── lib
│   └── test
└── WebModule
    ├── BASE_MODEL
    ├── lib
    └── run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment