5

IE/Chrome で Flash Player がインストールされ、有効になっているかどうかを確認する必要があります。

((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 を除くすべての OS のすべてのブラウザで問題ありません。Chrome では、Flash Player を無効にしても true になります。しかし、IEの場合、IE6ではまったく機能せず、システムによって動作が異なります。Flash がインストールされ、有効になっているかどうかを IE/Chrome で確認する方法。

4

2 に答える 2

3

全体を書き上げるにはあまりにも疲れているので、ここに、私がしばらく前に書いたフラッシュ/シルバーライト検出のフィドルがあります. 気軽に遊んでみて、不要な場合は 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/

于 2013-07-10T22:25:21.070 に答える
2

すでにこれを除外していると思いますが、swfobject を使用してフラッシュの挿入を管理することをお勧めします。

フラッシュがインストールされているかどうかを検出できる機能があり、インストールプロセスをトリガーして、クロスブラウザーの標準に準拠した方法で一般的なフラッシュ挿入を管理することもできます.

于 2013-07-10T15:52:40.077 に答える