Skip to content

FlashReady

uupaa edited this page Oct 26, 2016 · 11 revisions

Namespace

FlashDetector.js is located in global.WebModule.FlashDetector. To invoke more easily, it can also be placed in global.FlashDetector.

FlashDetector.js の名前空間は global.WebModule.FlashDetector です。 より手軽に呼び出せるように、global.FlashDetector に配置することも可能です

API

new FlashDetector

new FlashDetector(options) は インスタンスを生成して返します。

options に指定可能な値は以下の通りです。

options default value
id:String "external" + Date.now() Flash のコンテナとなる Object の ID( <object id="..."> ) を指定します
swf:URLString "./FlashDetector.swf" 判別に使用する swf のパスを指定します
timeout:Number 1000 判別処理のタイムアウト時間を ms で指定します
callback:Function null 判別完了または判別失敗(タイムアウト)でコールバックする関数を指定します
container:Node document.body 判別で使用する <object> の親Nodeを指定します

options.callback を指定すると、判別完了または判別失敗(タイムアウト)のタイミングで callback(enabled:Boolean):void の形でコールバックします。enabled が true なら Flash を利用できます( FlashDetector#enabled と同じ情報です )。

判別は options.swf に指定した 1kb の FlashDetector.swf を実際に読み込む事で行います。 ブラウザ側でブロックされた場合や、一定時間(options.timeout)が経過した場合は判別失敗となります。

window.onload = function() {
  var flash = new FlashDetector({
    timeout: 2000, // 2sec
    swf: "swf/FlashDetector/bin/FlashDetector.swf",
    callback: function(enabled) {
      console.log(flashEnabled === flash.enabled); // -> true
      alert(flash.enabled);
    }
  });
}

FlashDetector.prototype.enabled

FlashDetector#enabled:Boolean は、Flash が利用可能なら true を返します。 デフォルト値は false です。判別完了前は false を返します。

Clone this wiki locally