• ベストアンサー
  • 暇なときにでも

Flashの読み込みが出来ない場合の表示について

  • 質問No.1424815
  • 閲覧数246
  • ありがとう数15
  • 回答数1

お礼率 20% (6/29)

フラッシュの読み込みが出来ない場合、その変わりに、任意のイメージを表示させて対処することは出来ますか?

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー
簡単そうで,難しいご質問です。
Flashのバージョンは何でしょうか?

FlashMXまでとFlashMX2004とでは,変わります。

FlashMXまでは,代替イメージとそれを表示するHTMLがパブリッシュの設定で,自動作成されていました。

●「ファイル」→「パブリッシュの設定」で「HTML」タブを選択し,「テンプレート」で「Flash○を検知」というのを選択して,同時にGIFをパブリッシュする。

すつとそのJavaScriptがHTML内に自動作成されていたのです。

---FlashMXで「Flash5を検知」にした場合のタグ---
<HTML>
<HEAD>
<meta http-equiv=Content-Type content="text/html; charset=SHIFT_JIS">
<TITLE>sample1</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<!-- URL's used in the movie-->
<!-- text used in the movie-->
<!-- image map -->
<MAP NAME="sample1">
</MAP>
<SCRIPT LANGUAGE=JavaScript1.1>
<!--
var MM_contentVersion = 5;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
var words = navigator.plugins["Shockwave Flash"].description.split(" ");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i])))
continue;
var MM_PluginVersion = words[i];
}
var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0
&& (navigator.appVersion.indexOf("Win") != -1)) {
document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
document.write('on error resume next \n');
document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
document.write('</SCR' + 'IPT\> \n');
}
if ( MM_FlashCanPlay ) {
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
document.write(' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ');
document.write(' ID="sample1" WIDTH="550" HEIGHT="400" ALIGN="">');
document.write(' <PARAM NAME=movie VALUE="sample1.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> ');
document.write(' <EMBED src="sample1.swf" quality=high bgcolor=#FFFFFF ');
document.write(' swLiveConnect=FALSE WIDTH="550" HEIGHT="400" NAME="sample1" ALIGN=""');
document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
document.write(' </EMBED>');
document.write(' </OBJECT>');
} else{
document.write('<IMG SRC="sample1.gif" WIDTH="550" HEIGHT="400" usemap="#sample1" BORDER=0>');
}
//-->
</SCRIPT><NOSCRIPT><IMG SRC="sample1.gif" WIDTH="550" HEIGHT="400" usemap="#sample1" BORDER=0></NOSCRIPT>
</BODY>
</HTML>
------------------------------------------
簡単に言うと,Flash5Player以上が入っていると「document.write」でFlashを貼り付けるタグをHTMLにdocument.writeし,
Flash5Player以上が入っていないと,代替GIFを表示させるタグをHTMLにdocument.writeする。
というスクリプトです。

見てわかると思いますが,JavaScriptを有効にしていないブラウザではFlashも表示されないという大問題を含んだ,スクリプトです。
ですからでしょう,MX2004からは,こういう物はなくなりました。
でも似たような操作でFlashのバージョンを検出することはできます。
「ファイル」→「パブリッシュの設定」で「HTML」タブを選択し,「テンプレート」の下にある,「Flashのバージョンを検出」にチェックを入れ,設定から色々設定出来ます。その前に,書き出すSWFのバージョンを指定しておかなければ,バーションを選べませんが。

でも,これはFlashPlayerのバージョンが低いとき,代替のHTMLに飛ばすというものです。

MX2004の場合は,上のスクリプトを変更して,使われるか,この,MX2004流の検出を使ってください。
詳細は,MX2004のヘルプ,
「パブリッシュ設定を指定して埋め込み Flash コンテンツを持つ HTML ドキュメントを作成」

「Flash Player 検出のパブリッシュ設定の構成」
を参考にしてみてください。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ