【问题标题】:How to check with JS if flash is installed, or not?如果安装了flash,如何用JS检查?
【发布时间】:2012-03-22 12:41:06
【问题描述】:

如何用JS检查是否安装了flash?我不想检测版本或其他信息。我只想检查它是否可用。

swfobject 库实现了它(以及许多其他的东西,这对它来说是不必要的),但我不想只为一个功能使用一个库。

【问题讨论】:

标签: javascript flash


【解决方案1】:

如果您使用 Flash 逐步增强文档,请先使用此脚本对其进行特征检测。

var hasFlash = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) != false));

如果 Flash 可用,hasFlash 将为 true,如果不可用,则为 falsy。

如果您已经可以访问要使用的 Flash 元素,那么您可以这样做:

var hasFlash = 'Pan' in element;

来源:https://gist.github.com/675496

【讨论】:

  • 谢谢,但是当 flash 不可用时,它会返回 undefined
  • 安装 clicktoflash 之类的东西时返回 true 吗?当我尝试观看某些内容时,它让我很恼火,点击它以启用它,然后该站点删除了 flash 对象并告诉我安装 flash。
  • @Callum Macrae 是的。在带有 Opera turbo 的歌剧中,它也返回 wirt true ;)
  • 太棒了!解决了我所有的问题
【解决方案2】:

您可以检查 Flash 是否已安装(请参阅 Mathias 的回答),但请注意,即使 Flash 已安装,仍可能会被禁用(有关示例,请参阅此处 @987654321 @) 所以你的电影根本不会播放。

【讨论】:

  • 如何在 JS 中检测 flash 是否被禁用?
猜你喜欢
  • 2011-06-22
  • 2017-03-14
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 2017-08-03
  • 2022-11-23
  • 2011-03-31
  • 1970-01-01
相关资源
最近更新 更多