【问题标题】:how to check flash player is installed and enabled or not in IE and Chrome如何在 IE 和 Chrome 中检查 Flash 播放器是否安装和启用
【发布时间】:2013-07-10 13:04:13
【问题描述】:

我需要检查是否在 IE/Chrome 中安装并启用了 Flash 播放器。

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

!!(navigator.mimeTypes["application/x-shockwave-flash"] || window.ActiveXObject && new ActiveXObject('ShockwaveFlash.ShockwaveFlash'));

两者都适用于除 Chrome 之外的所有操作系统中的所有浏览器。对于 chrome,即使我禁用了 Flash Player,它也会提供 true。但是对于 IE,它在不同的系统上表现不同,也根本无法在 IE6 中运行。如果安装并启用了 Flash,如何检查 IE/Chrome。

【问题讨论】:

标签: javascript jquery internet-explorer


【解决方案1】:

写一整件事太累了,所以这里是我不久前写的一些闪光/银光检测的小提琴。如果您不需要它,请随意使用它并删除 silverlight 部分。

它基本上归结为像这样循环所有插件:

function get (name) {
    for (var i = 0, l = navigator.plugins.length; i < l; i++)
    {
        if (navigator.plugins[i].name === name) {
            return navigator.plugins[i];
        }
    }
    return undefined;
}

http://jsfiddle.net/nQ7fk/

【讨论】:

    【解决方案2】:

    我猜您可能已经排除了这种可能性,但我建议您使用 swfobject 来管理您的闪存插入:

    它确实具有让您检测是否安装了闪存的功能,它还可以触发安装过程并以符合标准的跨浏览器方式管理您的一般闪存插入。

    【讨论】:

    • 嘿,谢谢..我现在已经用过这个了。但是使用 swfobject 我无法检测到是否在 chrome 中启用了 flash。对于其他浏览器(IE(7 & 8) ,Firefox 它工作正常。我知道我专门要求 IE 但现在我的要求就是这样。感谢您的回复。
    猜你喜欢
    • 2011-06-22
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多