加载中…
个人资料
心灵征途
心灵征途
  • 博客等级:
  • 博客积分:0
  • 博客访问:78,637
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

解决FLASH的虚框

(2007-07-26 21:48:34)
 其实这已经不是个问题了,不过我看见许多个站上还是留着这么个虚框,碰巧今天有以前的同事问到我这个问题。发出来

出现框的原因是因为微软的安全更新,只有当客户手动激活其用户界面时,他们才能够与某些网页中加载的 Microsoft ActiveX 控件进行交互。受影响的程序包括FLASH,Adobe Reader QuickTime Player,Media Player, RealPlayer, Java虚拟机等等。

微软给出的解决方案就是外部调用JS代码的document.write方法,把<object>、<embed> 或 <applet> 编码的活动内容写入你的页面中,才可以自动激活,注意一定要是外部调用JS代码,在把JS代码和页面写在同一个文件中调用是不可以自动激活的。

解决方案
所以我们可以写一段JS function,然后在页面中把JS包含进来,用提供的参数动态输出这些受影响的内容。以FLASH为例:创建一个active.js的文件,输入以下代码
function addFlash(ur,w,h){
            document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/sho ... h/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('<paramname="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" height="'+h+'"></embed>');
            document.write('</object>');
}
然后在页面中包含该文件:script type="text/javascript" language="javascript" src="active.js"></script>

在需要插入FLASH的地方插入:<script language="javascript" type="text/javascript">addFlash(FLASH URL,'FLASH width','FLASH height');</script>

当然active,js中你可以写更多的function addWMV 等等,或者带更多的参数,比如wmode等等,举一反三

0

阅读 收藏 转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有