flash作为h5 video未完全替代的产物,在目前的pc端仍占有具有的比例,而前端如何去根据浏览器进行判断并根据需要提示给页面是我们必备的常识。
function flashChecker() {
var hasFlash = 0; //是否安装了flash
var flashVersion = 0; //flash版本
var isValid = 0; //是否过期
//IE浏览器
if ("ActiveXObject" in window) {
try {
var swf = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
hasFlash = 1;
isValid = 1;
VSwf = swf.GetVariable("$version");
flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]);
} catch (e) {}
//非IE浏览器
} else {
try {
if (navigator.plugins && navigator.plugins.length > 0) {
var swf = navigator.plugins["Shockwave Flash"];
if (swf) {
hasFlash = 1;
isValid = 1;
var words = swf.description.split(" ");
for (var i = 0; i < words.length; ++i) {
if (isNaN(parseInt(words[i]))) continue;
flashVersion = parseInt(words[i]);
}
if(swf.filename && swf.filename == 'internal-not-yet-present'){ //过期
isValid = 0;
}
}
}
} catch (e) {}
}
return { flash: hasFlash, version: flashVersion, vaild: isValid };
}
无论是用户禁用还是用户未安装,统一提供这个链接就可以,如果是禁用状态会帮你启用,如果是没有安装则会去下载的地址。