zoukankan      html  css  js  c++  java
  • 去除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();
    }

    原文地址:http://yourxin.com/blog/article.asp?id=46

  • 相关阅读:
    SpringCloud------获取配置文件属性值
    SpringCloud------MyBatisPlus代码生成器的使用
    Hanoi问题 算法
    常见的时间复杂度按数量级排列
    Java 匿名类
    java内部类
    Java 接口和抽象类
    使用引用类型变量来访问所引用对象的属性和方法时,Java 虚拟机绑定规则
    Python import搜索的路径顺序
    php 多次导入文件导致 Cannot redeclare class
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744212.html
Copyright © 2011-2022 走看看