アクセシビリティ

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

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

最終更新 (Last Update):2006-04-22
文書番号 (ID):228684
プラットフォーム (OS):Macintosh, Windows
バージョン (Product Version):8, MX2004, MX, 5, 7, 6x
リンク (Permanent Link) :http://go.adobe.com/kb/ts_228684_ja-jp
関連製品 (Product Affected):
flash
flash player
studio

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

文書番号 (ID):228684
プラットフォーム (OS):Macintosh, Windows

関連製品 (Product Affected)

flash
flash player
studio

問題は解決しましたか?

はい
いいえ


最大300文字