如果你是个细心的网民,如果你是一个仔细的网页设计者,那么你一定有发现这样一个现象:在浏览带有Flash动画的页面,当你把鼠标移动到Flash动画 上时,Flash动画四周就会出现虚线框,点击一下方才可以激活。虽然这并不影响Flash动画的播放,但对于具有交互功能的Flash来说,就会给访问 者多加了一个操作步骤,效果无疑会大大折扣。
为什么会出现虚线框?
我们知道在以前Flash动画虚线框是不存在的,那么为什么最近会出现这个现象呢?原来微软考虑到IE浏览器的安全性问题,针对IE发布了一项更新补 丁,禁止了IE浏览器的ActiveX控件自动激活功能。这样就造成了本来可以直接点的Flash,现在要先多点一下这个虚线框来激活了。
去掉虚线框
方法一:(适用于多个FLASH在同一页)
既然能加的上去[最好加在页面底部],就一定能去的掉。首先在网页代码之间插入如下代码:
<SCRIPT src="objectSwap.js" type=text/javascript> </SCRIPT>
这样网页在加载的时候会自动对页面中的 object 标签进行重写,实现自动激活。
objectSwap.js的代码如下:
方法二:用js加载FLASH方法
<div id="FlashNavi"><!--div不可省哦!~-->
<script type="text/javascript">
insertFlash('FlashNavi', 'Flash/Navigation_Index.swf', 1002, 252); //调用FLASH
</script>
</div> 下面是JS代码中被调用的方法,具体的FLASH参数
function insertFlash(elm, url, w, h) {
if (!document.getElementById(elm)) return;
var str = '';
str += '<object width="'+ w +'" height="'+ h +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">';
str += '<param name="movie" value="'+ url +'">';
str += '<param name="wmode" value="opaque">';
str += '<param name="quality" value="autohigh">';
str += '<embed width="'+ w +'" height="'+ h +'" src="'+ url +'" quality="autohigh" wmode="opaque" type="application/x-shockwave-flash" plugspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>';
str += '</object>';
document.getElementById(elm).innerHTML = str;