javascript chrome已禁止在此网页上运行flash - 我如何检测Flash是否安装,如果没有,显示一个隐藏的div,通知用户?




4 Answers

使用swfobject。 如果安装了闪存,它会用闪存替换一个div。 请参阅: http://code.google.com/p/swfobject/ : http://code.google.com/p/swfobject/

您未安装flash控件无法上传图片请安装flash控件后再试 谷歌浏览器安装flash控件

我如何使用javascript / jQuery /等来检测Flash是否安装,如果不是,显示包含通知用户他们需要安装Flash的信息的div?




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

@ invertedSpear在该答案中的评论在Firefox中工作,但不在任何IE版本。

所以结合他们的代码并得到这个。 测试谷歌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;
  }
}






我使用了Adobe的检测工具,最初由justpassinby提出。 他们的系统很好,因为它检测到版本号并将它与您的'所需版本'进行比较

一个坏消息是它会提示显示检测到的闪存版本,这不是非常用户友好的。 突然之间一个盒子弹出一些看似随机的数字。

您可能需要考虑的一些修改:

  • 删除警报
  • 对其进行更改以便它返回一个对象(或数组)---第一个元素是布尔值对于“是在用户机器上发现的所需版本”是true / false ---第二个元素是在用户机器上找到的实际版本号



Related

javascript jquery asp.net-mvc flash detection