如何检查Flash插件是否在Chrome中被阻止

如何检查Flash插件是否在Chrome中被阻止

问题描述:

如何使用jquery或javascript检查是否在Chrome中阻止了Flash插件?

How can I check using jquery or javascript whether flash plugin is blocked in chrome?

我们可以使用下面的

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

在Chrome中,您可以通过点击禁用个别插件来单独禁用插件。然后,如果我们单独禁用插件,则上面的查询工作并返回false。但是如果我们阻止所有插件,它将仅返回true。我关心的是如何检测插件已被阻止。

In Chrome you can disable plugin individually by clicking on disable individual plugin. Then if we disable plugin individually, above query works and return false. But If we block all plugin it will return true only.Hence my concern is how to detect a plugin has been blocked.

您可以使用 swfobject 之类的内容来处理闪存检测,但这样的事情也应该有效;

You could use something like swfobject to handle flash detection, but something like this should also work;

var flashAvailable = false;
try {
  var flash = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
  if(flash) {
    flashAvailable = true;
  }
}
catch(e) {
  if(navigator.mimeTypes ["application/x-shockwave-flash"] != undefined) {
    flashAvailable = true;
  }
}