摘要:
解决Flash“单击以激活并使用此控件”问题:在使用某些控件(插件)时,有“单击以激活并使用此控件”提示。也就是要先单击一下才能使用此控件。这对作用Flash做导航的站点是一个比较郁闷的问题。关键字:
Flash 控件 正文:
现在IE为增强安全性,打了一个让人感觉很“烦”的补丁,在使用某些控件(插件)时,有“单击以激活并使用此控件”提示。也就是要先单击一下才能使用此控件。这对作用Flash做导航的站点是一个比较郁闷的问题。总要先单击一下才能去点按钮……
有方案提出用删除相关补丁的方法,这个方法对网页设计者来说当然是简单,可是对IE用户来说却很麻烦,删半天删不掉不说有时还把系统给搞坏了。
以下是在设计者的角度解决这个问题,测试可行。
第一步:新建一个flash.js
代码内容附在本文最后 或 下载这个文件
第二步:网页中插入调用(<head>....</head>内)
<script language="javascript" type="text/javascript" src="flash.js"></script>
第三步:替换原来FLASH代码(<object>......</object>)
<script language=”javascript” type=”text/javascript”>
writeflashhtml(”_swf=index.swf”, ”_width=1018”, ”_height=621” ,”_wmode=transparent”);
//传参_swf是swf文件的路径,_width 和 _height 分别是定义swf的宽和高,_wmode是让flash透明显示
</script>
Flash.js:
//代码开始
function writeflashhtml( arg )
{
var parm = []
var _default_version = "8,0,24,0";
var _default_quality = "high";
var _default_align = "middle";
var _default_menu = "false";
for(i = 0; i < arguments.length; i ++)
{
parm[i] = arguments[i].split(' ').join('').split('=')
for (var j = parm[i].length-1; j > 1; j --){
parm[i][j-1]+="="+parm[i].pop();
}
switch (parm[i][0])
{
case '_version' : var _version = parm[i][1] ; break ;
case '_swf' : var _swf = parm[i][1] ; break ;
case '_base' : var _base = parm[i][1] ; break ;
case '_quality' : var _quality = parm[i][1] ; break ;
case '_loop' : var _loop = parm[i][1] ; break ;
case '_bgcolor' : var _bgcolor = parm[i][1] ; break ;
case '_wmode' : var _wmode = parm[i][1] ; break ;
case '_play' : var _play = parm[i][1] ; break ;
case '_menu' : var _menu = parm[i][1] ; break ;
case '_scale' : var _scale = parm[i][1] ; break ;
case '_salign' : var _salign = parm[i][1] ; break ;
case '_height' : var _height = parm[i][1] ; break ;
case '_width' : var _width = parm[i][1] ; break ;
case '_hspace' : var _hspace = parm[i][1] ; break ;
case '_vspace' : var _vspace = parm[i][1] ; break ;
case '_align' : var _align = parm[i][1] ; break ;
case '_class' : var _class = parm[i][
[1][2][3]