雖然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");