2006年4月,微软为了避免与eolas公司和加利福尼亚大学之间的专利侵权纠纷,而发布的一个ie非安全更新补丁,编号为kb912945,从此用传统方法在网页中插入flash会提示"单击以激活并使用此控件",并在flash边沿产生一个方框,使得flash不能直接进行交互式点击。这对于web开发者来说是一个亟需解决的问题,同样有助于更好地用户体验。

这里有一个解决此问题的方法,对web开发人员有一定的帮助。首先建立一个js文件flash.js,内容为:
function i(ur,w,h){
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+w+'" height="'+h+'"> ');
document.write('<param name="movie" value="' + ur + '">');
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="' + ur + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed> ');
document.write('</object> ');
}

ur是文件路径;w,h为flash文件尺寸;wmode为设置flash背景为透明;menu为控制flash右键菜单。

js调用部份的代码如下:

<script type="text/javascript" language="javascript" src="flash.js"></script>

网页具体放flash的位置代码如下:

<script language="JavaScript" type="text/javascript">i('flash.swf','615','310');</script>

这样就可以通过w3c的效验了,同时也解决了现在浏览器中需要点击激活flash的尴尬。
posted on 2011-02-12 14:14  Berthing  阅读(186)  评论(0)    收藏  举报