您的位置:首页 > 编程语言

去除flash边框虚框的方法代码

2014-05-22 15:56 225 查看
各位在设计、制作或者处理自己的blog的时候会遇到插入flash文件,自己在IE打开这个页面后,flash上面会浮现一个虚框,需要点击一次后才可以操作。程序繁琐,不免让喜欢简单的朋友觉得复杂。另外虚框也影响了网页的整体美观性和体验性。
这里分享一段代码,只要在网页中插入,所有swf文件的虚框将会消失,是不是很得意呢?哈哈,代码如下:
 
将其保存为flash_no.js,在你需要的前台页面head中加入:
<head>


 




 


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


 


</head>


 

 

flash_no.js:

 

/**


* @author [cengis]Mihawk


* @version v1.0


* Date:2007-6-21


*/


 


 


var ie = (document.defaultCharset && document.getElementById && !window.home);


var opera9 = false;


if (ie){


var ver=navigator.appVersion.split("MSIE")


ver=parseFloat(ver[1])


ie = (ver >=6)


}else if (navigator.userAgent.indexOf("Opera")!=-1) {


var versionindex=navigator.userAgent.indexOf("Opera")+6


if (parseInt(navigator.userAgent.charAt(versionindex))>=9)


opera9 = true;


}


var oswap = (ie || opera9)


if (oswap){


document.write ("<style id='hideObject'> object{display:none;} </style>");


}


objectSwap = function(){


if (!document.getElementsByTagName){


return;


}


var stripQueue = [];


var objects = document.getElementsByTagName('object');


for (var i=0; i<objects.length; i++){


var o = objects[i];


var h = o.outerHTML;


var params = "";


var hasFlash = true;


for (var j = 0; j<o.childNodes.length; j++) {


var p = o.childNodes[j];


if (p.tagName == "PARAM"){


if (p.name == "flashVersion"){


hasFlash = detectFlash(p.value);


if (!hasFlash){


o.id = (o.id == "") ? ("stripFlash"+i) : o.id;


stripQueue.push(o.id);


break;


}


} 


params += p.outerHTML;


}


}    


if (!hasFlash){


continue;


}        


if (!oswap){


continue;


} 


if (o.className.toLowerCase().indexOf ("noswap") != -1){


continue;


}        


var tag = h.split(">")[0] + ">";


var newObject = tag + params + o.innerHTML + " </OBJECT>";


o.outerHTML = newObject;


}


if (stripQueue.length) {


stripFlash(stripQueue)


}


if (oswap){


document.getElementById("hideObject").disabled = true;


}


}


 


detectFlash = function(version){


if(navigator.plugins && navigator.plugins.length){


var plugin = navigator.plugins["Shockwave Flash"];


if (plugin == undefined){


return false;


}


var ver = navigator.plugins["Shockwave Flash"].description.split(" ")[2];


return (Number(ver) >= Number(version))


} else if (ie && typeof (ActiveXObject) == "function"){


try{


var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + version);


return true;


}


catch(e){


return false;


}


}


return true;


}


 


stripFlash = function (stripQueue){


if (!document.createElement){


return;


}


for (var i=0; i<stripQueue.length; i++){


var o = document.getElementById(stripQueue[i]);


var newHTML = o.innerHTML;


newHTML = newHTML.replace(/<!--\s/g, "");


newHTML = newHTML.replace(/\s-->/g, "");


newHTML = newHTML.replace(/<embed/gi, "<span");


var d = document.createElement("div");


d.innerHTML = newHTML;


d.className = o.className;


d.id = o.id;


o.parentNode.replaceChild(d, o);


}


}


 


var tempFunc = window.onload;


window.onload = function(){


if (typeof (tempFunc) == "function"){


try{


tempFunc();


} catch(e){}


}


objectSwap();


}


 

 

原文地址:http://yourxin.com/blog/article.asp?id=46
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: