检测浏览器是否安装flash

原文来自:snippets.barretlee.com,只是为了自己学习收集特意fork了一遍。如有侵权,联系删除:i@webcliwn.net
Author: 吕大豹

Email: 670818517(at)qq.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function hasFlash(){
if (navigator.plugins && navigator.plugins.length && navigator.plugins['Shockwave Flash']) {
return true;
} else if (navigator.mimeTypes && navigator.mimeTypes.length) {
var mimeType = navigator.mimeTypes['application/x-shockwave-flash'];
return mimeType && mimeType.enabledPlugin;
} else {
try {
var ax = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
return true;
} catch (e) {}
}
return false;
}

Author: 墨尘

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* [isSupportFlash description]
* @return {number} [ -1(不支持flash) | flash版本号]
*/
function getFlashVersion() {
var version = -1;
if( window.ActiveXObject ) {
try{
var swf = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
version = parseInt( swf.GetVariable("$version").split(" ")[1].split(",")[0]);
}
catch(e){}
}
else{
if( navigator.plugins && navigator.plugins["Shockwave Flash"] ) {
var arr = navigator.plugins['Shockwave Flash'].description.split(' ');
var i = 0;
var length = arr.length;
if ( arr ) {
for ( ; i < length ; i++) {
if (!isNaN( Number(arr[i]) )) {
version = Number(arr[i]);
break;
}
}
}
}
}
return version;
}