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

vir*_*rus 9 javascript jquery swfobject

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

我们可以使用下面的方法检查已禁用的Flash插件

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

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

int*_*xel 2

您可以使用swfobject之类的东西来处理闪光检测,但这样的东西也应该可以工作;

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;
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 在 Chrome 中,您可以通过单击“禁用单个插件”来单独禁用插件。然后,如果我们单独禁用插件,上面的查询将起作用并返回 false。但是如果我们阻止所有插件,它只会返回 true。因此我关心的是如何检测插件已被阻止。因此上述不是预期的答案。 (2认同)