しらぎくモバイルシステムで利用出来る画像以外のメディアについて解説します。
第3.190版(平成17年 9月11日)から、PC及びフラッシュ対応実機に対して、インライン表示のフラッシュを扱えるようになりました。
加えて、第3.750版(平成18年 4月11日)から、iモード準拠のインタラクティヴ表示のフラッシュを扱えるようになりました。
しらぎくモバイルシステムが取扱うHTML文書にフラッシュを埋め込む場合、携帯端末向けの<object>要素またはPC向けの<embed>要素のいずれでも記述出来ます。
ご利用に関して以下の点にご留意下さい。
以下の端末を対応端末と判定します。
フラッシュ非対応端末に関しては、以下の要領で代替コンテンツ(テキスト・静止画像など)を用意出来ます。
<noembed>要素に代替コンテンツを記述します。
インターネットエクスプローラでは、フラッシュの表示の際に<object>要素でアクティヴ Xを起動しますが、この<object>要素タグの記述は携帯端末では対応出来ません。
従って、この記述を用いた<object>要素は無視され、内部に記述された<embed>要素を処理対象とします。
尚、しらぎくモバイルシステムでは、フラッシュを埋め込む<object>要素においては以下の属性の記述を必須とします。
type="application/x-shockwave-flash"
」属性この属性でフラッシュと判断します。
この属性を与えられた場合、
この属性が無い場合、フラッシュ対応環境に対しては当該<object>要素を配信しません。
第3.750版(平成18年 4月11日)から、従来のインライン表示のフラッシュに加えてiモード準拠のインタラクティヴ表示のフラッシュを扱えるようになりました。
この場合、以下のように記述します。
記述が複雑になりますが、<object>要素を用いた記述を推奨します。
具体的には、<object>要素でインタラクティヴ表示させたいフラッシュを設定し、<a>要素の特別な属性で当該フラッシュを表示させるアンカーを生成します。
このためには、以下のように記述して下さい。
<object>要素には必ず以下の属性を附記して下さい。
type="application/x-shockwave-flash"
属性declare
属性属性値のみの記述で有効です。
この属性の記述が無い場合は、自動的にインライン表示と認識します。
id
属性また、<object>要素内には、フラッシュが使えない端末向けのコンテンツを記述する事が出来ます。
この記述は、フラッシュ対応端末では出力されません。
インタラクティヴ表示が指定されている(すなわちdeclare属性がついている<object>要素で指定されたフラッシュ)フラッシュは<a>要素によるリンクによって開かれます。
フラッシュを開くための<a>要素は以下の属性を用います。
属性値としては、「#
」に続けて表示させたいフラッシュを指定した<object>要素内のid属性値です。
この属性が無い場合、普通の<a>要素リンクと見なされます。
この属性で、フラッシュに対応していない端末での代替ページを指定します。
必須ではありませんが、この属性が無い場合、フラッシュ非対応端末では当該<a>要素の内容とも削除されます(すなわち、href属性が無い場合、フラッシュ対応環境でしか表示されなくなります)。
<a>要素のhref属性で直接フラッシュを参照する事で、インタラクティヴに表示させる事も可能です。
但しその場合、フラッシュに対応していない環境でもアンカーとしては有効になってしまいます。
このため、しらぎくモバイルシステムでは標準準拠の判別属性をサポートしております。
具体的には、フラッシュへリンクする<a>要素に対して、以下のように「type="application/x-shockwave-flash"
」属性を附与する事で、フラッシュに対応していない環境では当該要素を非表示にします。
<a type="application/x-shockwave-flash" href="Sample.swf">
アンカー文字列</a>
逆に、フラッシュに対応していない環境でのみ表示させるには、「type="application/x-shockwave-flash"
」属性をもち、且つdata属性の無い<object>要素内に記述する事で実現します。
type="application/x-shockwave-flash"
」属性でフラッシュ関連の要素と判断し、非対応環境では要素の内容が有効であるものとします。具体的には、以下のように記述します。
<object type="application/x-shockwave-flash">
(フラッシュ非対応環境でのみ有効なコンテンツ)</object>
インタラクティヴ表示のフラッシュを利用する場合、以下の点にご留意下さい。
インタラクティヴ表示フラッシュの代替コンテンツとして、HTMLで記述したコンテンツを用意する場合、当該コンテンツの冒頭に<!-- noflash -->宣言を記述する事で、フラッシュに対応する環境では指定されたフラッシュにリダイレクト出来るようになります。
この場合、他のHTML文書からはこの代替コンテンツにリンクするようにするだけで、当該コンテンツにアクセスした際にフラッシュ対応か否かを判断してフラッシュか当該コンテンツかを振り分けるようになります。
例えば、フラッシュのURIがhttp://www.uso800.uso/flash/sample.swf
ならば、代替コンテンツには以下のように<!-- noflash -->宣言を記述します。
<!-- noflash www.uso800.uso/flash/sample.swf -->
実際に、しらぎくモバイルシステム向けの文書でフラッシュを埋め込む場合について具体例を挙げておきます。
<div>
<object type="application/x-shockwave-flash" data="Example.swf">
<img alt="" src="Example.GIF">
</object>
</div>
インタラクティヴ表示を実現する場合には、自動振分を可能にした代替HTMLコンテンツを用意してそれにリンクするのが最も簡単な方法ですが、以下のようにする事も出来ます。
<div>
<object declare id="Flash1" type="application/x-shockwave-flash" data="Example.swf">
<img alt="" src="Example.GIF">
</object>
<a iswf="#Flash1">サンプル</a>
</div>
<div>
<a type="application/x-shockwave-flash" href="Sample.swf">サンプル</a>
<noembed>
<img alt="" src="Example.GIF">
</noembed>
</div>
この場合、フラッシュ非対応環境では「サンプル」と言うアンカーは表示さえされません。
<div>
<object declare id="Flash1" type="application/x-shockwave-flash" data="Example.swf">
</object>
<a iswf="#Flash1" href="Example.GIF">サンプル</a>
</div>
<div>
<a type="application/x-shockwave-flash" href="Example.swf">サンプル</a>
<noembed>
<a href="Example.GIF">サンプル</a>
</noembed>
</div>
この場合、フラッシュの対応に拘らず「サンプル」と言うアンカーが表示されますが、
アンカーとなります。
<div>
<object declare id="Flash1" type="application/x-shockwave-flash" data="Example.swf">
<a href="Example.GIF">サンプル(静止画像)</a>
</object>
<a iswf="#Flash1">サンプル(フラッシュ)</a>
</div>
<div>
<a type="application/x-shockwave-flash" href="Example.swf">サンプル(フラッシュ)</a>
<noembed>
<a href="Example.GIF">サンプル(静止画像)</a>
</noembed>
</div>
この場合、
それぞれ表示されます。
その他のiモード独自メディアについては、以下のものをサポートしております。
これらの独自メディアに関しては、<object>要素にdeclare属性, id属性, メディアごとに指定された値のtype属性で実体を宣言した後で、<a>要素にて当該要素にリンク出来ます。
<a>要素には、iモードの仕様通りに、
それぞれ記述します。
このように記述した場合、iモード以外の端末では無効なリンクと見なされてアンカーを生成しなくなります。
また、<object>要素を用いずに直接リンクする場合には、<a>要素にtype属性を与える事で、その値がフラッシュに対するもの(application/x-shockwave-flash), 画像に対するもの(image/〜)またはHTMLに関するもので無い限り、iモード以外では要素そのものが削除となります。