天天看點

判斷使用者flash是否安裝了flash以及flash的版本

雖然flash已經逐漸隐退,但是還是有部分需求,如何判斷是否安裝了flash插件以及flash的版本呢?

網上查閱了兩段代碼:

判斷插件

function detectFlash() {  
    //navigator.mimeTypes是MIME類型,包含插件資訊  
    if (navigator.mimeTypes.length > ) {  
        //application/x-shockwave-flash是flash插件的名字  
        var flashAct = navigator.mimeTypes["application/x-shockwave-flash"];  
        return flashAct != null ? flashAct.enabledPlugin != null : false;  
    } else if (self.ActiveXObject) {  
        try {  
            new ActiveXObject('ShockwaveFlash.ShockwaveFlash');  
            return true;  
        } catch (oError) {  
            return false;  
        }  
    }  
} 
           

是否安裝以及版本資訊

function flashChecker() {
    var hasFlash = ; //是否安裝了flash
    var flashVersion = ; //flash版本
    var isIE =/*@cc_on!@*/; //是否IE浏覽器
    if (isIE) {
        var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
        if (swf) {
            hasFlash = ;
            flashVersion = swf.GetVariable("$version");
        }
    } else {
        if (navigator.plugins && navigator.plugins.length > ) {
            var swf = navigator.plugins["Shockwave Flash"];
            if (swf) {
                hasFlash = ;
                flashVersion = swf.description.split(" ");
            }
        }
    }
    return {
        f: hasFlash,
        v: flashVersion
    };
}

var fls = flashChecker();
if (fls.f) document.write("您安裝了flash,目前flash版本為: " + fls.v + ".x");
else document.write("您沒有安裝flash");