在前文中,我介绍了插入 Flash 文件而又能符合 w3c 标准的方法。此方法适合一些 FLASH 视频的转帖,但不能解决所有问题。
前一段时间我曾经应万戈同学的要求帮助修改他的博客,以通过 xhtml 的验证,万戈在博客上使用了一个 MixPod的外挂 MP3 播放器,需要用到类似下文的代码:
<center><p style="visibility:visible;"><object type="application/x-shockwave-flash" data="http://assets.myflashfetish.com/swf/mp3/mff-mixtape.swf" height="185" width="300" style="width:300px;height:185px"><param name="movie" value="http://assets.myflashfetish.com/swf/mp3/mff-mixtape.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="TL" /><param name="wmode" value="transparent"/><param name="flashvars" value="myid=31490376&path=2009/10/07&mycolor=645269&mycolor2=B3B3B3&mycolor3=CCCCCC&autoplay=false&rand=0&f=4&vol=100&pat=0&grad=false&ow=300&oh=185"/></object><br><a href="http://www.mixpod.com/playlist/31490376" target="_blank"><img src="http://images.myflashfetish.com/btns/itape/tracks.gif" title="Get Music Tracks!" style="border-style:none;" alt="Music"></a><a href="http://www.mixpod.com" target="_blank"><img src="http://images.myflashfetish.com/btns/itape/create.gif" title="Create Your Free Playlist!" style="border-style:none;" alt="Playlist"></a><a href="http://www.mixpod.com/ringtones/31490376" target="_blank"><img src="http://images.myflashfetish.com/btns/itape/ringtones.gif" title="Get Ringtones From This Playlist!" style="border-style:none;" alt="Ringtones"></a><br /><a href="http://mixpod.com">Music Playlist</a> at <a href="http://mixpod.com">MixPod.com</a></p></center>
仔细看这段代码,我们可以发现这么一行:
<param name="flashvars" value="myid=31490376&path=2009/10/07&mycolor=645269&mycolor2=B3B3B3&mycolor3=CCCCCC&autoplay=false&rand=0&f=4&vol=100&pat=0&grad=false&ow=300&oh=185"/>
MixPod 会载入一个 FLASH 文件,然后通过 flashvars 自定义 MP3 播放器,如果使用我上一篇文章中的方法,是无法传递 falshvars 的值的。解决方法是通过载入 js 文件曲线绕道 W3C 的 xhtml 检查。
首先,我们需要一个 javascript 文件:swfobject.js,下载并上传到你的空间。
修改 wordpress 的主题文件,header.php中加入:
<script type="text/javascript" src="js文件的地址" ></script>
然后在你需要加载 FLASH 文件的地方,添加类似的代码(请根据实际情况修改 flash 的源文件地址和其他 flashvars 的值,此段只是万戈同学博客的源代码):
<div id="flashcontent">
<!–这个层放置如果浏览者没有装Flash Player插件或禁用JavaScript和Flash时提示给用户的信息–>
</div><script type="text/javascript">
var so = new SWFObject("http://assets.myflashfetish.com/swf/mp3/mff-mixtape.swf?myid=20143873", "mymovie", "300", "185", "7","#336699");
so.addParam("quality", "high");
so.addParam("wmode", "transparent");
so.addParam("salign", "TL");
so.addVariable("mycolor", "857777");
so.addVariable("mycolor2", "eaeaea");
so.addVariable("mycolor3", "fcfcfc");
so.addVariable("autoplay", "false");
so.write("flashcontent");
</script>
通过 javascript 的”addParam”和”addVariable”,我们就可以圆满地显示 FLASH 又符合 W3C 的标准。
相关文章
2 Comments, 留言 or 引用
师兄也搞技术了?
[回复]
SorryDreams 回复:
10月 8th, 2009 at 11:00 下午
不是滴,只是前一阵研究了下 w3c 标准,把上次没有写完的记录下来。
[回复]
Oct 8th, 2009
发表评论