一尘不染

如何检测是否安装了Flash,如果未安装,则显示一个隐藏的div来通知用户?

javascript

如何使用javascript / jQuery / etc检测是否安装了Flash,如果未安装,则显示一个div,其中包含通知用户需要安装Flash的信息?


阅读 393

收藏
2020-05-01

共2个答案

一尘不染

如果swfobject还不够,或者您需要定制一些内容,请尝试以下操作:

var hasFlash = false;
try {
    hasFlash = Boolean(new ActiveXObject('ShockwaveFlash.ShockwaveFlash'));
} catch(exception) {
    hasFlash = ('undefined' != typeof navigator.mimeTypes['application/x-shockwave-flash']);
}

它适用于7和8。

2020-05-01
一尘不染

如果已禁用Flash Flash插件但已安装Flash插件,则@Drewid的答案在我的Firefox 25中不起作用。

在该答案中的评论适用于Firefox,但不适用于任何IE版本。

因此结合了他们的代码并得到了这个。已在Google Chrome 31,Firefox 25,IE 8-10中测试。谢谢德鲁伊德和倒矛:)

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;
  }
}
2020-05-06