2011-10-28 8 views
3

次の2つのシナリオを検出する方法はありますか?FlashサポートとFlashインストール

  1. デバイスはFlashをサポートしていますが、Flashはインストールされていません。私はフラッシュがインストールされているかどうかを検出する方法を知っている

:(アプリ、iPhoneすなわち)、そして私は、特にiPadやiPhoneを検出する方法を知っているが、方法を見つけるために望んでた

  • デバイスでは、Flashをサポートしていません。どんな種類のホワイトリストやブラックリストも使用せずに、デバイスがまったくフラッシュをサポートしているかどうかを一般的に検出します。

  • 答えて

    4

    フラッシュがインストールされているかどうかを検出できます。 Adobeはこれを行うためのJavaScriptコードを提供しています。

    フラッシュがサポートされているかどうか(たとえば、使用可能)は検出できませんが、インストールされていません。定義上、フラッシュがインストールされていないと、フラッシュをインストールできるかどうかについては何も表示されません。なぜこれがそうであるのかを見ることができます。なぜなら、デバイスは、フラッシュなしでフラッシュを使用することなく今日出荷され、その後、デバイス自体に変更を加えずにフラッシュを利用できるようになるからです。したがって、デバイス自体は、フラッシュが利用可能になったことをおそらく知ることができなかった。

    フラッシュが利用可能かどうかを知る唯一の方法は、自分の巨大なデバイスリストを維持することです。それは絶えず変化しているので、あなたはあなたのJavaScriptにそれを焼くことさえできません。あなたはそれをサーバーに置き、ajax経由で情報を取得する必要があります。

    フラッシュがインストールされているかどうかを検出し、そうでない場合は、デバイスが大容量のデバイス(Android、iDevice、Windows Phone、Windowsタブレットなど)を使用して、それらのデバイスがフラッシュを使用できるかどうかについて事前に構築された知識を使用します。デバイスの残りの部分については、あなたは知らないだろう。

    0

    あなたの最善の策は、サポートされているユーザエージェントのマッピング配列を格納し、サポートされているユーザー・エージェントのリストに対してユーザー・エージェントに一致するgetSupported()方法でそれを使用することで、そして「上がらないものでしょうt。

    0

    いいえ、あなたはフラッシュがインストールされているかどうかは分かりませんが、デバイスが理論上フラッシュをサポートしているかどうかを知る方法はありません。

    結局のところ、地獄が凍結し、AppleがiOS用にFlashをリリースする可能性があります。または、Flash Playerを搭載していないUnix on Unix上で、ユーザーが奇妙なAndroidバージョンまたはFirefoxを実行している可能性があります。利用可能なすべてのフラッシュプレーヤーのリストを維持する必要がありますが、それは面倒です。

    0

    が少し遅れてここかもしれないが、この小さなスニペットはFlashが利用可能であるかどうかを確認するのに役立ちます:

    function is_flash_support() { 
        var flash_support = false; 
        try { 
         var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 
         if(fo) { 
          flash_support = true; 
         } 
        } catch (e) { 
         if(navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'] != undefined && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) { 
          flash_support = true; 
         } 
        } 
        return flash_support; 
    } 
    
    関連する問題