2005/10/05(水) [n年前の日記]
#2 [cg_tools] _Flash TechNote - 代替イメージにイメージマップが設定されない
問題Macromedia Flash4Jフォルダ>HTMLフォルダ内の「Flash3.html」、「Flash4.html」に、
「ファイル」メニュー>「パブリッシュ設定」のHTMLのテンプレートで「Flash3 (代替イメージ付き) 」や「Flash4 (代替イメージ付き) 」でHTMLを書き出した時に、プラグインがない場合に表示される代替イメージにイメージマップの設定がされないのでリンクできない。
理由
「Flash3 (代替イメージ付き) 」や「Flash4 (代替イメージ付き) 」でHTMLを書き出す時に使うテンプレートにイメージマップの属性が入っていません。
対処法
「Flash3 (代替イメージ付き) 」、「Flash4 (代替イメージ付き) 」テンプレートを編集します。Macromedia Flash TechNote : fl0211 - 代替イメージにイメージマップが設定されない より
document.write('<IMG SRC=$IS WIDTH=$IW HEIGHT=$IH BORDER=0>');のところに「USEMAP=$IU」を追加します。 - - - 以上省略 - - - } else if (!(navigator.appName && navigator.appName.indexOf("Netscape")>=0 && navigator.appVersion.indexOf("2.")>=0)){ document.write('<IMG SRC=$IS WIDTH=$IW HEIGHT=$IH BORDER=0 USEMAP=$IU>'); } //--> </SCRIPT> - - - 以下省略 - - -を追加、とのことらしい。
◎ _Flash TechNote - Linux の Netscape で代替イメージが表示されない :
else if 以下のスクリプトでは、Netscape かバージョンが 2 かを確認し、Netscape バージョン 2 ではない場合 "true" になります。そのため else if 以下のスクリプトが有効になり、代替イメージが挿入されます。なお Netscape 2 の場合は <NOSCRIPT> が有効になり、代替イメージが挿入されます。対処法は下のように記述せよということらしい。
Linux の Netscape の場合は、たとえバージョンが 2 以上の Netscape を使用していても、"false" を返します。
理由は、「navigator.appVersion」でブラウザのバージョンと一緒に Linux のカーネルのバージョン (Linux2.x.xx) も取得してしまうためです。この「2.」の数字を取得してしまうために、Netscape 2 以上を使用していても Netscape 2 だと判定してしまい、<NOSCRIPT> を参照します。例えば Netscape 4.5 であれば、この <NOSCRIPT> を認識しないので、なにも表示されないという事態が起こります。Macromedia - Flash TechNote : fl0212 - Linux の Netscape で代替イメージが表示されない より
(以上省略) } else if (!(navigator.appName && navigator.appName.indexOf("Netscape")>=0 && navigator.appVersion.indexOf("2.")>=0)){ document.write('<IMG SRC=$IS WIDTH=$IW HEIGHT=$IH BORDER=0 usemap=$IU>'); } else if (navigator.platform && navigator.platform.indexOf("Linux")>=0) { document.write('<IMG SRC=$IS WIDTH=$IW HEIGHT=$IH BORDER=0 usemap=$IU>'); } //--> </SCRIPT>
[ ツッコむ ]
以上です。