3 回答
TA贡献1865条经验 获得超7个赞
如果swfobject不够,或者您需要创建一些更定制的东西,请尝试以下方法:
var hasFlash = false;
try {
hasFlash = Boolean(new ActiveXObject('ShockwaveFlash.ShockwaveFlash'));
} catch(exception) {
hasFlash = ('undefined' != typeof navigator.mimeTypes['application/x-shockwave-flash']);
}
它适用于7和8。
TA贡献1799条经验 获得超8个赞
如果Flash插件刚刚被禁用但已安装,@ Drewid的答案在我的Firefox 25中无效。
@vertedSpear在该答案中的评论在firefox中有效但在任何IE版本中都没有。
所以结合他们的代码并得到了这个。在Google Chrome 31,Firefox 25,IE 8-10中测试过。谢谢Drewid和invertedSpear :)
var hasFlash = false;
try {
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if (fo) {
hasFlash = true;
}
} catch (e) {
if (navigator.mimeTypes
&& navigator.mimeTypes['application/x-shockwave-flash'] != undefined
&& navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
hasFlash = true;
}
}
添加回答
举报