ネットユーザーは、Web ページに埋め込まれた Flash タグを Web 標準に準拠させる方法をよく尋ねます。現時点では完璧な解決策はありません。この記事では、Flash 埋め込みタグを js ファイルに書き込み、変数を介してパラメータを渡して、標準を満たしていないタグを回避します。
これは単なる回避策であり、検証に合格するかどうかは、実際の運用でご自身で検討してください。
まずJSファイルflash.jsを作成します。次のコードを記述します。
function swf(file,w,h) {
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7 ,0,19,0 " 幅="'+w+'" 高さ="'+h+'"> ');
document.write('<param name="movie" value="' + file + '">');
document.write('<param name="quality" value="high"> ');
document.write('<param name="wmode" value="transparent"> ');
document.write('<param name="menu" value="false"> ');
document.write('<embed src="' + file + '"quality="high" pluginspage=" http://www .macromedia.com/go/getflashplayer " type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed> ');
document.write('</object> ');
上記の js スクリプトは関数 swf を定義し、ファイル ファイル リンク、幅 w、高さ h の 3 つの変数を設定します
。
Flash の埋め込みは、XHTML でこの関数に変数を渡すことで実現できます。次のコード:
<div id="flash">
<script type="text/javascript" language="javascript">swf('designyesky.swf','500','220');</script>
</div>
フラッシュの ID を持つ div をコンテナとして作成し、その中に js スクリプトを埋め込みます。変数は、ファイル パス、幅、高さです。
以下のコード全体を参照してください:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Web 標準に準拠して Flash を埋め込む方法</title>
<script type="text/javascript" language="javascript" src="flash.js"></script>
<style type="text/css">
#flash { 幅:500px; マージン:50px 自動; ボーダー:5px ソリッド #03c;}
</スタイル>
</head>
<本文>
<div id="フラッシュ">
<script type="text/javascript" language="javascript">swf(designyesky.swf','500','220');</script>
</div>
</body>
</html>