アクセシビリティ
Adobe
サインイン 注文状況 ユーザー登録

TechNote

$version による Flash Player バージョンの検出


概要

English

Macromedia Flash Player アップデートがリリースされていくに従って、ムービーを正しく再生するために Player バージョンの情報が重要になります。たとえば、wmode パラメータを true に設定して Netscape で Flash を再生する機能は、Player バージョン 6.0r65 (メジャーバージョン : 6、マイナーバージョン : 65) で初めて導入されました。

ブラウザごとの差異を意識させないために、まず、使用している Player でこの機能がサポートされるかどうかを検出することをお勧めします。このドキュメントでは、ActionScript を使用して Flash Player のメジャーバージョンとマイナーバージョンを検出する方法について説明します。


Flash MX におけるバージョン情報の検出

Flash MX の System オブジェクトを使用すると、ActionScript の System.capabilities.version で簡単に Player バージョンを取得できます。

playerVersion = System.capabilities.version;

このバージョン情報は、次に示す形式のストリングとして返されます。プラットフォームの略称に続いて、Player のバージョン番号を示す数字 (メジャーバージョン、0、マイナーバージョン、0) が含まれています。

WIN 8,0,24,0
MAC 7,0,63,0
UNIX 5,0,55,0


Flash Player の存在の検出

ユーザーのコンピュータ上に Flash Player が存在するかどうかは、次のいずれかの方法で検出できます。いずれの方法についても、How to detect the presence of the Flash Player* (TechNote 14526) に詳細な説明があります。

Flash Player 検知キット* は、スクリプトで Flash Player を検出するために使用できる総合的なフレームワークです。また、JavaScript を使用せずに Flash を検出できる Flash ベースの検出方法もあります。


Player バージョン検出用の基本的なスクリプト

次に示すスクリプトは、Flash Player 4.0r11 およびそれ以降で Player バージョンの検出に使用できます。

このコードを使用するには、新しい Flash ムービーの最初のフレームにコードをペーストしてください。コメントアウトされているセクション (if ステートメント内) には、コンテンツをリダイレクトするコマンドや、Player をアップグレードするようユーザーに警告するコマンドなどを記述してください。

以前のバージョンの Player に対する互換性を持たせるために、このファイルは "バージョン 4 SWF" ファイルとして書き出すようにしてください。

playerVersion = eval("$version");
myLength = length(playerVersion);
while (i <= myLength) {
i = i + 1;
temp = substring(playerVersion, i, 1);
if (temp eq " ") {
platform = substring(playerVersion, 1, i-1);
majorVersion = substring(playerVersion, i + 1, 1);
secondHalf = substring(playerVersion, i + 1, myLength - i);
minorVersion = substring(secondHalf, 5, 2);
}
}
// 次に示すステートメントはサンプルです。
// 特定のメジャー/マイナーバージョン情報を検出しています。
if (majorVersion >= 4) {
// Player バージョン 4.0r11 またはそれ以降
if ((majorVersion >= 4) && (minorVersion >= 20)) {
// Player バージョン 4.0r20 (プリントに対応)
}
if ((majorVersion >= 5) && (minorVersion >= 41)) {
// Player バージョン 5.0r41 および 42
}
if ((majorVersion >= 6) && (minorVersion >= 69)) {
// Player バージョン 6.0r69
}
if ((majorVersion >= 7) && (minorVersion >= 19)) {
// Player バージョン 7.0r19

}

if ((majorVersion >= 8) && (minorVersion >= 24)) {
// Player バージョン 8.0r24 (2006 年 3 月時点における最新バージョン)
}
} else {
// Player バージョン 4.0r11 またはそれ以前はここで処理する
}

これらの式をテストするには、[ファイル]-[ブラウザでプレビュー] を選択して Flash ムービーをブラウザ上でプレビューします。以前のバージョンの Flash Player についてスクリプトによる検出をテストするには、文書番号 228683 テスト用のアーカイブ版 Macromedia Flash Player の提供についてを参照してください。


Flash 4 および Flash 5 での検出方法

Flash Player 4.0r11 およびそれ以降では、バージョン情報が $version という非公開の変数に格納されています。この特殊な変数を評価すると、Player のバージョン情報がストリング形式で返されます。

Flash 5 では、自動的に $version を評価して結果を返す getVersion() 関数が導入されました。また、Flash MX では、System オブジェクトを使用して特定の Flash Player バージョンを検出する方法が導入されました。

Flash 5 の getVersion() メソッドにより、eval を使用する必要がなくなり、検出を簡単に実行できるようになりました。

var playerVersion = getVersion();

Flash 4 では、次のコード例のように eval 関数を使用して $version から情報を抽出する必要があります。

Set Variable: "playerVersion" = eval("$version")

メモ : バージョン 4.0r11 以前の Flash Player では、これらの方法を使用してもバージョン情報は返されません。


関連ドキュメント (Related Records)

RELATED RECORDS

AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of Adobe® Flash® Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

サポート情報検索 (Search Support)

ドキュメント情報 (Document Details)

最終更新 (Last Update): 2006-04-22
文書番号 (ID):228684
プラットフォーム (OS):Macintosh, Windows
http://go.adobe.com/kb/ts_228684_ja-jp

関連製品 (Product Affected)

flash
flash player
studio