
function flashChecker() {
let hasFlash = 0; //是否安装了flash
let flashVersion = 0; //flash版本
//document.all是页面内所有元素的一个集合。
//document.all 页面所有元素的集合,用来判断是不是IE浏览器
if (document.all) {
//new ActiveXObject 对象仅用于实例化自动化对象
let swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if (swf) {
hasFlash = 1;
VSwf = swf.GetVariable("$version");
flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]);
}
} else {
//返回一个 PluginArray 类型的对象, 包含了当前所使用的浏览器安装的所有插件
if (navigator.plugins && navigator.plugins.length > 0) {
let swf = navigator.plugins["Shockwave Flash"];
if (swf) {
hasFlash = 1;
let words = swf.description.split(" ");
for (let i = 0; i < words.length; ++i) {
if (isNaN(parseInt(words[i]))) continue;
flashVersion = parseInt(words[i]);
}
}
}
}
return {
f: hasFlash,
v: flashVersion
};
}
let fls = flashChecker();
let s = "";
if (fls.f) {
console.log("您安装了flash,当前flash版本为: " + fls.v + ".x");
} else {
console.log("您没有安装flash")
};

但是,唯一有损于此的是,只有在Flash插件运行时才能识别它,但无法判断Flash插件将更频繁地运行. 当检测到闪光时,建议使用setInterval定时器. 时间flash 浏览器版本,清除此计时器

let timer = setInterval(function () {
let hasFlash = 0;
let flashVersion = 0;
if (document.all) {
let swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if (swf) {
hasFlash = 1;
VSwf = swf.GetVariable("$version");
flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]);
}
} else {
if (navigator.plugins && navigator.plugins.length > 0) {
let swf = navigator.plugins["Shockwave Flash"];
if (swf) {
hasFlash = 1;
let words = swf.description.split(" ");
for (let i = 0; i < words.length; ++i) {
if (isNaN(parseInt(words[i]))) continue;
flashVersion = parseInt(words[i]);
}
}
}
}
let fls = flashChecker();
let s = "";
if (fls.f) {
console.log("您安装了flash,当前flash版本为: " + fls.v + ".x");
//当检测到浏览器的flash插件时,清除这个定时器
clearInterval(timer)
}
}, 5000)

如果判断此Flash版本太低,则需要安装最新的Flash,请执行以下代码

//url可以写最新的flash安装地址,或者是其他服务器地址(将flash安装包放到服务器上)
window.open('url')
如果默认情况下浏览器阻止弹出窗口flash 浏览器版本,则可以使用以下书写方式
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-187352-1.html
台湾如果敢宣布独立
英国已经与我国和好