FLASHプラグイン自動判定振分

FLASHプラグイン(Player)がバージョンに関わらず入っていない時には別のHTMLページを表示させる方法です。
flaファイルのパブリッシュで自動書き出しされるHTMLに書き込まれるタグを書き換えて使用。
サンプルはプラグインが入っている場合は普通にFLASHが表示されるので、確認の際はプラグインをアンインストールしてください。
ちなみに、自動生成のAC_RunActiveContent.js内にはSWF情報は含まれないので、SWFファイルの名前を変えても別に平気です。

サンプル
http://www.topknot.net/_test/_konaka/library/fla_u...

動作確認

Mac safari3.1/Firefox2.0、WinVista IE7



変更箇所と方法


『Flash MX Professional 2004』
  1. メニューの[パブリッシュの設定]パレットを開きます。
  2. [HTML]タブで[Flashのバージョンを検出]をチエックします。
  3. 右にある[設定]ボタンを押します。そうすると[バージョン検出設定」のパレットが表示されます。FLAファイルのファイル名が「myflash」だとするとこのパレットで[ファイルの検出(最初にターゲットファイルを検出)]で「myflash.html」と表示されます。[コンテンツファイル]として「myflash_content.html」と表示されます。[代替ファイル]として「myflash_alternate.html」が表示されるでしょう。以上は[デフォルトでファイルを作成]をチェックしている場合です。[既存のファイルを使用]をチェックして[既存の代替HTML」を参照ボタンを押して指定することもできるでしょう。
  4. [OK]ボタンを押して確定します。またパブリッシュパレットでも[OK]を押して確定します。
  5. パブリッシュすると下記のファイルが生成されます。
「myflash.html」(JavaScriptが記載されます)は、Flashバージョンをチェックして、バージョンが所定もの以降であれば、これが使われます。バージョンが合わないときは「myflash_alternate.html」が使われます。(既存の代替HTMLを指定すればそれが使用されます)
「myflash_content.html」はバージョンのチェックを行わないhtmlとなります。


『Flash 8 professional』
  1. パブリッシュの設定のパレットの[HTML]タブでテンプレートから[Flash HTTPS]を選択
  2. [Flashのバージョンの検出]をチェック
  3. [OK]を押します。
  4. パブリッシュしてswfとHTMLファイルを生成すると、スクリプトが</body>〜</body>の間に生成されます。勿論<head>〜</head>の部分にもスクリプトが書かれます。
<script language="JavaScript" type="text/javascript">内と<noscript>に対応して代替コンテンツを配置する箇所があります。
以下2箇所を任意のページに書き換えてください。
} else { // Flash が古すぎるか、プラグインを検出できません
var alternateContent = '代替 HTML コンテンツをここに配置する必要があります。 '
+ 'このコンテンツには Adobe Flash Player が必要です。 '
+ '<a href=http://www.macromedia.com/go/getflash/>Flash Player を入手する</a>';
document.write(alternateContent); // Flash 以外のコンテンツを挿入する'

} else { // Flash が古すぎるか、プラグインを検出できません
location.replace("代替.html");


<noscript>
// スクリプトをサポートしていないブラウザ、
// またはスクリプトが無効になっているブラウザ用に代替コンテンツを提供します。 代替 HTML コンテンツをここに配置する必要があります。 このコンテンツには Adobe Flash Player が必要です。
<a href="http://www.macromedia.com/go/getflash/">Flash Player を入手する</a>
</noscript>

<noscript>
<a href="代替.html">代替ページへ</a>
</noscript>


ライセンス

Copyright 2005-2007 Adobe Systems Incorporated. All rights reserved.
(パブリッシュされた「AC_RunActiveContent.js」の最初の記述です)

参考サイト

質問掲示板の内容の応用です。
D0712221 flash非対応の時はhtml表示させる
2008年12月10日(水) 14:45:21 Modified by maikoh69




スマートフォン版で見る