去除flash边框虚框的方法代码
各位在设计、制作或者处理自己的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();
}
喜欢请赞赏一下啦^_^

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)