IIS6.0+IE6.0无法显示flash幻灯片(flash调用图片)的研究

花了我整整4小时,最后出来的这个结果却是出乎意料...

问题提出:

仙剑四主题站那个论坛是DZ的,晚上网友建议我去加个首页推荐,我说那不是首页四格么?直接去DZ官方论坛找插件了,找了个传说中20多万人下的首页N格的插件,上传上去,一切正常,可是首页四格的图片推荐区却一片空白,无语了,于是开始找解决办法.

首先baidu下"首页四格图片不显示",出来的也都是相同的问题,没有答案,都搁在那里;于是再去DZ官方论坛搜索之类问题,问的人多,却没一个是能真正解决的.我在插件区看了好多帖子,版主回答N格问题那个固顶贴我是一篇回复一篇回复的看的,把所有别人提到的解决方法是尝试了下.以下是DZ官方论坛里关于"首页N格无法显示"的一些基本解决方法(确实有一部分人是因为这些原因而不能显示,因此先仔细看看):
引用
1.在论坛的帖子内,要有jpg格式的图片附件,因为调用不支持远程;
2.空间商问题(即php.ini的配置问题),但仔细比对了那个帖子里php.ini的中文配置介绍,我感觉这个出问题的可能性微乎其微,因为基本都是默认的;
3.没上传pic.php文件,白痴错误了;
4.修改了默认的附件文件夹,或者是路径问题.
具体测试:

在对DZ官方论坛的回复进行了分析以及否定了以上原因以后,我开始思考是不是权限问题,我把后来加进来的文件以及attchments都给everyone所有权限,结果还是不行.我开始怀疑是不是flash的问题了,我把focus.swf以及pic.php清除php脚本后的js代码所在的pic.htm以及随便找的一张jpg图片放在我机子的虚拟目录下,在文件夹里双击打开pic.htm,显示正常,图片正常调用,从虚拟目录打开pic.htm,一样的正常,寒了,好好的~

把这三个文件上传到服务器,寒了,IIS里打开的时候居然是一片空白,我双击pic.htm打开的时候却正常显示,一下子我觉得是服务器IIS的问题,于是我检查配置,检查权限分配,却没发现异常.我郁闷死,就在ajaxbingo群里找兄弟帮忙,大家都热情的帮我,可是在他们的机子上都是正常的,而没人知道我的为什么不行...

快哭了,baidu+google了N久N久,重启服务器试过了,给IIS加MIME类型试过了,还是不顶事啊.挣扎了好久,再换了个正常的swf,在服务器上却显示正常,邪门了,同样是生活在服务器上的两个swf,难道人品还有差距的?

一边尝试一边搜索一边冥想一边瞎折腾,最后有个文章给我灵感了,说是IE6.0对swf文件的支持不是太好,我想想有可能,于是打开火狐,果然,一切正常显示,换到室友机子上,用IE7.0打开,依然一切正常显示.至此,问题大致明朗了.

结果分析:

1.直接打开pic.htm文件,均可以正常调用图片,无论什么浏览器,这个本地调用没问题,毋庸置疑;

2.我的机子以及群里兄弟的机子应该都是XP的,所以大家测试环境都是IIS5.0+IE6.0,所以测试过程中都是正常的;

3.由于DZ是php的,所以论坛很多网友都调用成功,因为他们很多都用的linux主机,运行环境是apache+IE6.0,所以显示是正常的;

4.IIS6.0+IE7.0(或者firefox)都能正常显示;

5.II6.0+IE6.0下无法显示flash调用图片.

可能原因:

1.可能是focus.swf的问题,调用代码经IIS6.0解析后在IE6.0下不支持;

2.那就是IE6.0的bug,测试过程中发现部分IE6.0是支持的,其中有部分是机子装过IE7.0后又卸载了或者是打过什么补丁(具体说明补丁还请大家测试后告诉我)

解决方案:

1.flash调用换成js调用(不是指js调用pic.php,而是指js调用图片,自己找代码);

2.升级到IE7.0或者用firefox浏览器;

3.给IE6.0打补丁(补丁号未知...).

附(pic.htm):
引用
<script language="javascript">
var swf_width=260  
var swf_height=198
var config='5|0xffffff|0x0099ff|50|0xffffff|0x0099ff|0x000000'
// config 设置分别为: 自动播放时间(秒)|文字颜色|文字背景色|文字背景透明度|按键数字色|当前按键色|普通按键色
var files='123.jpg'
var links='1'
var texts='ri'
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" height="'+ swf_height +'">');
document.write('<param name="movie" value="focus.swf" />');
document.write('<param name="quality" value="high" />');
document.write('<param name="menu" value="false" />');
document.write('<param name=wmode value="opaque" />');
document.write('<param name="FlashVars" value="config='+config+'&bcastr_flie='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'" />');
document.write('<embed src="focus.swf" wmode="opaque" FlashVars="config='+config+'&bcastr_flie='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
document.write('</object>');
</script>
[最后修改由 oldjun, 于 2007-11-27 00:45:36]
posted @ 2008-06-15 15:43  winnerlan  阅读(2828)  评论(0编辑  收藏  举报